Permalink
Browse files

Descompresión de RAR

  • Loading branch information...
1 parent 20606d7 commit eaa601577ede05463620a06ac0410598c65a5c25 @ceneon committed Feb 12, 2012
Showing with 29 additions and 7 deletions.
  1. +4 −2 README.textile
  2. +25 −5 rubtitulos.rb
View
@@ -6,11 +6,13 @@ h2. Uso
<pre>./rubtitulos.rb Great.Series.S01E05........avi</pre>
-Se va a buscar el subtítulo en Subdivx.com, descargarlo, descomprimirlo, y guardarlo junto al video, con el mismo nombre, para que VLC, Perian, u otro reproductor lo cargue automáticamente.
+Se va a buscar el subtítulo en Subdivx.com, descargarlo, descomprimirlo (ZIP o RAR), y guardarlo junto al video, con el mismo nombre, para que VLC, Perian, u otro reproductor lo cargue automáticamente.
+
+Nota: Requiere instalar el comando 'unrar'
h2. TO-DO
-* Si el subtítulo está comprimido como RAR, no se puede continuar. Librería a utilizar???
+* Cambiar a subtitulos.es que se descarga sin comprimir ?
* Buscar automáticamente los videos a los que les falta el subtítulo en un directorio dado.
* Soportar películas
* Mejorar el criterio de selección de mejor subtítulo según el origen del archivo? (release group, etc)
View
@@ -56,10 +56,11 @@ def parsear_subdivx!(div)
end
pos+=1
end
-serie = serie.strip.gsub(" ", "%20")
+serie = serie.strip
-busqueda = serie + "%20" + capitulo
puts "Buscando serie: " + serie + " - episodio: " + capitulo
+busqueda = serie.gsub(" ", "%20") + "%20" + capitulo
+
doc = Nokogiri::HTML(open('http://subdivx.com/index.php?accion=5&masdesc=&subtitulos=1&realiza_b=1&buscar=' + busqueda))
@@ -106,10 +107,29 @@ def parsear_subdivx!(div)
elsif tempfile.content_type == "application/x-rar-compressed"
- puts "es un RAR... y ahora?"
- exit
- # TO-DO: Unrar solo de el/los SRT
+
+ # http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/
+ `mkdir /tmp/rubtitulos >& /dev/null; rm /tmp/rubtitulos/*`
+ #system("unrar l #{tempfile.path}")
+
+ # x : extract
+ # -n*.srt : filtra por SRT
+ # -tsm- : actualiza fecha de modificación a la fecha actual
+ # -y : Contesta que sí a toda preegunta
+ ## con system( ) , devuelve true/false
+ `cd /tmp/rubtitulos ; unrar x -y -n*.srt -tsm- #{tempfile.path}`
+
+ directorio_original = Dir.getwd
+ Dir.chdir("/tmp/rubtitulos")
+ lista = Dir.glob("*.srt")
+ srt.write File.open(lista.first).read
+ Dir.chdir(directorio_original)
+ #puts lista.to_s
+ #else
+ # puts "Problemas ejecutando el comando unrar. Está instalado? Descargar versión 'command line only' en: http://www.rarlab.com/download.htm"
+ # exit
+ #end
else
puts "ERROR: Tipo de archivo desconocido"

0 comments on commit eaa6015

Please sign in to comment.