X-Git-Url: http://git.euphorik.ch/?p=pompage.git;a=blobdiff_plain;f=src%2Ffilms.rb;fp=src%2Ffilms.rb;h=24befe8a5ea039243b3cf0db4cf4bfb6e7d94aba;hp=be1ebf959788636ce2846bda3c4505de2fd0c6c8;hb=40778efb4943c2f728258e865210fa169dfb3d15;hpb=339621e8669fbd4b09e2d0825f5521469503837b diff --git a/src/films.rb b/src/films.rb index be1ebf9..24befe8 100644 --- a/src/films.rb +++ b/src/films.rb @@ -151,63 +151,71 @@ class Films end racine = REXML::Document::new(File::new(@xmlFile)).root - racine.each_element{|e| + racine.elements.each("film"){|e| id = e.attribute('id').to_s.to_i if id >= @idDisponible @idDisponible = id + 1 end - titre = e.get_elements('titre')[0].get_text - url = e.get_elements('url')[0].get_text - fichiers = e.get_elements('fichiers')[0].get_elements('fichier') - annee = e.get_elements('annee')[0].get_text - duree = e.get_elements('duree')[0].get_text - critiquePresse = e.get_elements('critiquePresse')[0].get_text - critiqueSpectateur = e.get_elements('critiqueSpectateur')[0].get_text - synopsis = e.get_elements('synopsis')[0].get_elements('p') - budget = e.get_elements('budget')[0].get_text - realisateurs = e.get_elements('realisateurs')[0].get_elements('realisateur') - acteurs = e.get_elements('acteurs')[0].get_elements('acteur') - pays = e.get_elements('lespays')[0].get_elements('pays') - genres = e.get_elements('genres')[0].get_elements('genre') + film = Film::new(nil, @modClasse::new) + film.id = id - film = Film::new(fichiers[0].get_text.value, @modClasse::new) + film.titre = e.get_text('titre') + film.titre = film.titre.value if film.titre != nil - film.id = id - film.titre = titre.value unless titre.nil? + print "#{film.titre}.. " + + + film.url = e.get_text('url') + film.url = film.url.value if film.url != nil + + film.annee = e.get_text('annee') + film.annee = film.annee.value if film.annee != nil + + film.duree = e.get_text('duree') + film.duree = film.duree.value if film.duree != nil + + film.critiquePresse = e.get_text('critiquePresse') + film.critiquePresse = film.critiquePresse.value if film.critiquePresse != nil - film.url = url.value unless url.nil? + film.critiqueSpectateur = e.get_text('critiqueSpectateur') + film.critiqueSpectateur = film.critiqueSpectateur.value if film.critiqueSpectateur != nil - fichiers.each{|e| - film.addFichier(e.get_text.value) - @filmsFichier[e.get_text.value] = film + film.budget = e.get_text('budget') + film.budget = film.budget.value if film.budget != nil + + e.elements.each('fichiers/fichier'){|f| + next if f.get_text == nil + film.addFichier(f.get_text.value) + @filmsFichier[f.get_text.value] = film } - film.annee = annee.value unless annee.nil? - acteurs.each{|e| - film.acteurs << Personne::ajouter(e.get_text.value) + + e.elements.each('realisateurs/realisateur'){|f| + film.realisateurs << Personne::ajouter(f.get_text.value) } - realisateurs.each{|e| - film.realisateurs << Personne::ajouter(e.get_text.value) + + e.elements.each('acteurs/acteur'){|f| + film.acteurs << Personne::ajouter(f.get_text.value) } - pays.each{|e| - film.pays << Pays::ajouter(e.get_text.value) + + e.elements.each('lespays/pays'){|f| + film.pays << Pays::ajouter(f.get_text.value) } - film.duree = duree.value unless duree.nil? - film.critiquePresse = critiquePresse.value unless critiquePresse.nil? - film.critiqueSpectateur = critiqueSpectateur.value unless critiqueSpectateur.nil? - genres.each{|e| - film.genres << Genre::ajouter(e.get_text.value) if e.get_text != nil - } + + e.elements.each('genres/genre'){|f| + film.genres << Genre::ajouter(f.get_text.value) + } + debut = true film.synopsis = "" - synopsis.each{|e| - film.synopsis += "\n" unless debut - film.synopsis += e.get_text.value if e.get_text != nil + e.elements.each('synopsis/p'){|f| + film.synopsis += "\n" unless debut + film.synopsis += f.get_text.value if f.get_text != nil debut = false - } + } film.synopsis = nil if film.synopsis == "" - film.budget = budget.value unless budget.nil? + @films[film.titre] = film } end