require "rexml/document" require "catori" module Catori class XML def initialize(sFile) file = File.new(sFile) @db = Catori::Db.conectar @root = REXML::Document.new(file).root @archivos=[] end def rastrea @root.elements.each("file") {|f| cd=f.attributes['cd'] file_id=f.attributes['id'] file_name=@db.select_one("select file_name from file WHERE file_id=? and cd_id=?",file_id,cd).to_s oInfo=AudioInfo::Virtual.new(cd,file_name) f.elements.each("*") {|e| oInfo.send(e.name+"=",e.text) if !e.text.nil? } @archivos.push(oInfo) } end def actualizar albums=[] i=0 @archivos.each{|oInfo| Catori::Db.llenarArtista(oInfo) Catori::Db.llenarAlbum(oInfo) Catori::Db.llenarCancion(oInfo) id_album=oInfo.album.crearSha+oInfo.artist.crearSha if !oInfo.year.nil? and !albums.include?(id_album) Catori::Db.actualizarAlbumFecha(oInfo) albums.push(id_album) end Catori::Db.actualizarArchivo(oInfo) i+=1 } i end end end