Sha256: cd83678651475e2a3b2c35b2bef14a1db770589889e5af175b721f01a3227fe9

Contents?: true

Size: 982 Bytes

Versions: 4

Compression:

Stored size: 982 Bytes

Contents

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

Version data entries

4 entries across 2 versions & 1 rubygems

Version Path
catori-0.2.5 lib/catori/XML.rb
catori-0.2.5 ./lib/catori/XML.rb
catori-0.2.6 ./lib/catori/XML.rb
catori-0.2.6 lib/catori/XML.rb