ADD Ajout de plusieurs films...
[pompage.git] / src / films.rb
index be1ebf9..24befe8 100644 (file)
@@ -151,63 +151,71 @@ class Films
       end\r
             \r
       racine = REXML::Document::new(File::new(@xmlFile)).root\r
-      racine.each_element{|e|       \r
+      racine.elements.each("film"){|e| \r
          id = e.attribute('id').to_s.to_i\r
        \r
          if id >= @idDisponible\r
             @idDisponible = id + 1   \r
          end\r
          \r
-         titre = e.get_elements('titre')[0].get_text\r
-         url = e.get_elements('url')[0].get_text         \r
-         fichiers = e.get_elements('fichiers')[0].get_elements('fichier')\r
-         annee = e.get_elements('annee')[0].get_text\r
-         duree = e.get_elements('duree')[0].get_text\r
-         critiquePresse = e.get_elements('critiquePresse')[0].get_text\r
-         critiqueSpectateur = e.get_elements('critiqueSpectateur')[0].get_text\r
-         synopsis = e.get_elements('synopsis')[0].get_elements('p')\r
-         budget = e.get_elements('budget')[0].get_text  \r
-         realisateurs = e.get_elements('realisateurs')[0].get_elements('realisateur')\r
-         acteurs = e.get_elements('acteurs')[0].get_elements('acteur')\r
-         pays = e.get_elements('lespays')[0].get_elements('pays')\r
-         genres = e.get_elements('genres')[0].get_elements('genre')\r
+         film = Film::new(nil, @modClasse::new)\r
+         film.id = id\r
          \r
-         film = Film::new(fichiers[0].get_text.value, @modClasse::new)\r
+         film.titre = e.get_text('titre')\r
+         film.titre = film.titre.value if film.titre != nil\r
          \r
-         film.id = id\r
-         film.titre = titre.value unless titre.nil?\r
+         print "#{film.titre}.. "\r
+\r
+         \r
+         film.url = e.get_text('url')\r
+         film.url = film.url.value if film.url != nil\r
+\r
+         film.annee = e.get_text('annee')\r
+         film.annee = film.annee.value if film.annee != nil         \r
+         \r
+         film.duree = e.get_text('duree')\r
+         film.duree = film.duree.value if film.duree != nil\r
+         \r
+         film.critiquePresse = e.get_text('critiquePresse')\r
+         film.critiquePresse = film.critiquePresse.value if film.critiquePresse != nil\r
          \r
-         film.url = url.value unless url.nil?\r
+         film.critiqueSpectateur = e.get_text('critiqueSpectateur')\r
+         film.critiqueSpectateur = film.critiqueSpectateur.value if film.critiqueSpectateur != nil\r
          \r
-         fichiers.each{|e|\r
-            film.addFichier(e.get_text.value)\r
-            @filmsFichier[e.get_text.value] = film\r
+         film.budget = e.get_text('budget')\r
+         film.budget = film.budget.value if film.budget != nil\r
+         \r
+         e.elements.each('fichiers/fichier'){|f|\r
+            next if f.get_text == nil\r
+            film.addFichier(f.get_text.value)\r
+            @filmsFichier[f.get_text.value] = film\r
          }\r
-         film.annee = annee.value unless annee.nil?\r
-         acteurs.each{|e|\r
-            film.acteurs << Personne::ajouter(e.get_text.value)\r
+         \r
+         e.elements.each('realisateurs/realisateur'){|f|\r
+            film.realisateurs << Personne::ajouter(f.get_text.value)\r
          }\r
-         realisateurs.each{|e|\r
-            film.realisateurs << Personne::ajouter(e.get_text.value)\r
+         \r
+         e.elements.each('acteurs/acteur'){|f|\r
+            film.acteurs << Personne::ajouter(f.get_text.value)\r
          }\r
-         pays.each{|e|\r
-            film.pays << Pays::ajouter(e.get_text.value)\r
+         \r
+         e.elements.each('lespays/pays'){|f|\r
+            film.pays << Pays::ajouter(f.get_text.value)\r
          }\r
-         film.duree = duree.value unless duree.nil?\r
-         film.critiquePresse = critiquePresse.value unless critiquePresse.nil?\r
-         film.critiqueSpectateur = critiqueSpectateur.value unless critiqueSpectateur.nil?\r
-         genres.each{|e|\r
-            film.genres << Genre::ajouter(e.get_text.value) if e.get_text != nil\r
-         }        \r
+         \r
+         e.elements.each('genres/genre'){|f|\r
+            film.genres << Genre::ajouter(f.get_text.value)\r
+         }       \r
+         \r
          debut = true\r
          film.synopsis = ""\r
-         synopsis.each{|e|\r
-            film.synopsis += "\n" unless debut\r
-            film.synopsis += e.get_text.value if e.get_text != nil\r
+         e.elements.each('synopsis/p'){|f|\r
+            film.synopsis += "\n" unless debut            \r
+            film.synopsis += f.get_text.value if f.get_text != nil\r
             debut = false\r
-         }         \r
+         }                  \r
          film.synopsis = nil if film.synopsis == ""\r
-         film.budget = budget.value unless budget.nil?\r
+                  \r
          @films[film.titre] = film\r
       }\r
    end\r