=begin
Se pretende hacer un programa que lea las líneas de un fichero
que contiene las rutas de unos ficheros que queremos descargarnos
este fichero tiene el nombre: dvd2.txt
Queremos que extraiga sólo los nombre de los ficheros a descargar
y los almacene en otro fichero con nombre: nombres.txt
Luego, se conecte a la ruta que nos ha preguntado previamente
y los descargue a nuestro ordenador.
=end
require 'net/http'
if File.exist?("nombres.txt")
puts "El fichero nombres.txt existe"
else
w=File.open("nombres.txt","a+")
puts "El fichero nombres.txt no existia y ha sido creado"
w.close
end
def empezar
puts "Escribe la ruta completa del dominio (ej: www.loquesea.com) : "
STDOUT.flush
@comun1=gets.chomp
puts "Has escrito este dominio=#{@comun1}"
puts "Ahora escribe el resto de la ruta completa, incluido el signo / al principio y al final , donde estan los ficheros (ej: /files/img/) : "
STDOUT.flush
@comun2=gets.chomp
@comun="http://"+@comun1+@comun2
end
empezar
puts "Has escrito esta ruta=#{@comun} ¿Correcto? (S/N)"
STDOUT.flush
resp=gets.chomp
if resp=="n" or resp=="N"
empezar
end
a=0
yy=[]
m=[]
linea=File.open("dvd2.txt")
li=0
@n=File.open("nombres.txt","w+")
linea.each do |@y|
li+=1
yy<<@y
m<<@y.split(@comun)
end
@n.print m
puts "Número de líneas = #{li}"
puts " Esto es la matriz yy="
puts yy
for r in (0..li-1)
puts r
puts "yy[#{r}]= #{yy[r]} y este es m[#{r}]= #{m[r]}"
end
@n.close
puts "Esto es m="
for r in (0..li-1)
puts "***********************"
puts "m[#{r}]= #{m[r]}"
puts "***********************"
end
@dominio="http://"+@comun1
@rcompleta=@comun2
puts "Este es el dominio: #{@dominio}"
puts "Esta es la ruta tras el dominio #{@comun2}"
#puts "Esta es la ruta completa @rcompleta= #{@rcompleta}"
@domin=@comun1
puts "domin= #{@domin}"
for uu in (1..li-1)
puts "Esto es m(#{[uu]})= #{m[uu]}"
@tt=m[uu]
@ta=@tt.to_s.chomp
puts "Esto es la ruta hasta el fichero @ta= **#{@ta}** de la clase #{@ta.class}"
Net::HTTP.start(@domin) { |http|
puts "Conectado al dominio = **#{@domin}**"
puts " CONECTADO"
resp=http.get(@comun2+@ta)
puts "Conectando con **#{@comun2+@ta}**"
puts " CONECTADO"
open(@ta.chomp, "wb") { |file|
file.write(resp.body)
}
puts "Fichero **#{@ta}** descargado"
}
end
puts "Conseguidoooooo !!"
Ruby es un lenguaje es un universo, donde todo parte de un mismo objeto "main" y desde ahí se diferencian los demás. Es realmente fácil de ir comprendiendo y nos va a permitir ir plasmando la idea que generó la necesidad de hacer ese programa pero muy humanamente.
ejercicio TK -1
#!/usr/bin/ruby #https://sandbox.mc.edu/~bennet/ruby/code/tk2_rb.html # Import the library. require 'tk' # Root window. root = TkRo...
-
Primero has de tener instalado Ruby Después, instala la gema ocra así: gem install ocra Como da problemas si tan sólo llamamos a la gema oc...
-
https://aula301.com/aplicaciones-de-escritorio-gui-con-ruby/ Aplicaciones de escritorio GUI con Ruby Programas con interfaz gráfica ...
-
#!/usr/bin/ruby #https://sandbox.mc.edu/~bennet/ruby/code/tk2_rb.html # Import the library. require 'tk' # Root window. root = TkRo...