Bueno gente, acá les dejo mi primer pequeño script con Ruby. Resulta que el viernes entrada la noche, el señor muluc me comenta que tiene todos los subtítulos de su anime preferido, pero como están sin presentación, y los subtítulos si la tienen en cuenta, tiene atrasados todas las líneas.
Entonces yo dije "Aja!" y le hice un programita bien sencillito, que dados un archivo de subs y un delay, te "corre" todo en ese sentido (no probé con negativos, pero quizás anda).
Entonces, aquí les dejo el código:
File.open($*[0],"r+") do |f|
lines = f.readlines
delay = $*[1]
j = 1
i = 0
while(i < i =" i+1" fin =" lines[i].chomp.split(/--">/)
h,min,seg = prin.chomp.split(/:/)
seg2,dec = seg.chomp.split(/,/)
seg2 = seg2.to_i + delay.to_i
if(seg2 > 60)
min = min + 1
if(min >60)
h = h + 1
hf,minf,segf = fin.chomp.split(/:/)
seg2f,decf = segf.chomp.split(/,/)
seg2f = seg2f.to_i + delay.to_i
if(seg2f > 60)
minf = minf + 1
if(minf >60)
hf = hf + 1
lines[i] = h+ "\:" + min + "\:" + seg2.to_s + "\," + dec + "\-\-\>" + hf+ "\:" + minf + "\:" + seg2f.to_s + "\," + decf + "\n"
j = j+1
end
i = i+1
end
f.pos = 0
f.print lines
f.truncate(f.pos)
end
Básicamente, lo que hace es parsear todo el texto en busca de las líneas que indican tiempos, ahí parsea también esa línea y le agrega a la parte de segundos, el delay correspondiente, haciendo los ajustes para mantener el invariante de la hora.
Bueno, espero que alguien lo vea útil... por las dudas, para ejecutarlo, necesitan el runtime de ruby, que lo bajan de acá (Win). Para la versión Linux, necesitan o bien bajar el código fuente, o fijarse en su distro como es. En el caso de Ubuntu o Debian, con poner lo siguiente, basta:
sudo apt-get install ruby irb rdoc
Gente, voy a seguir laburando...
Saludos a todos y espero llamados y mensajes el 20 y fiesta el 29!
Blue
Suscribirse a:
Enviar comentarios (Atom)
2 comentarios:
Muy largo!
Y la sintaxis no se entiende nada, que decepción :'(
__________
Python
Concuerdo con Facu. Pense que iba a ser un poco mas entendible.
Saludos desde Mountain View
Publicar un comentario