ADD Amélioration de l'update des films déjà en BD
[pompage.git] / src / films.rb
index 7d9c17e..be1ebf9 100644 (file)
@@ -103,6 +103,22 @@ class Films
       Dir::chdir(repPrecedant)      \r
    end\r
    \r
+   # Mise à jour des films dans la BD.\r
+   # p1 string : un motif Regex correspondant à un ou plusieurs champs\r
+   def update(champ, titre)\r
+      @films.each{|t, f|\r
+         next if !f.titre.match(Regexp::new(titre, true))\r
+                  \r
+         ## si le film est complet on ne fait rien\r
+         if $force || f.url == nil || f.titre == '' || f.annee == nil ||\r
+            f.realisateurs.empty? || f.acteurs.empty? || f.pays.empty? ||\r
+            f.genres.empty? || f.synopsis == nil || !f.possedeImage?\r
+            \r
+            f.update(champ)\r
+         end\r
+      }\r
+   end\r
+   \r
    # Sauve les films dans un fichier XML\r
    def sauverFilms\r
       # le document\r
@@ -171,6 +187,9 @@ class Films
          acteurs.each{|e|\r
             film.acteurs << Personne::ajouter(e.get_text.value)\r
          }\r
+         realisateurs.each{|e|\r
+            film.realisateurs << Personne::ajouter(e.get_text.value)\r
+         }\r
          pays.each{|e|\r
             film.pays << Pays::ajouter(e.get_text.value)\r
          }\r
@@ -179,14 +198,15 @@ class Films
          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
          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
             debut = false\r
-         }\r
+         }         \r
+         film.synopsis = nil if film.synopsis == ""\r
          film.budget = budget.value unless budget.nil?\r
          @films[film.titre] = film\r
       }\r
@@ -213,14 +233,14 @@ class Films
       \r
       if @films.has_key?(film.titre)\r
          if !@filmsFichier.has_key?(film.fichiers[0])\r
-            puts "[i] movie #{film.titre} has a another file part : #{film.fichiers[0]}"\r
+            puts "[i] Le film #{film.titre} possède une autre partie : #{film.fichiers[0]}"\r
             @films[film.titre].addFichier(film.fichiers[0])\r
             @filmsFichier[film.fichiers[0]] = @films[film.titre]                     \r
          else\r
-            puts "[!] Duplicate movie : #{film.titre} (#{film.fichiers[0]})"\r
+            puts "[!] Film déjà dans la BD : #{film.titre} (#{film.fichiers[0]})"\r
          end\r
       else\r
-         puts "[i] movie added : #{film.titre} (#{film.fichiers[0]})"\r
+         puts "[i] Film ajouté : #{film.titre} (#{film.fichiers[0]})"\r
          @films[film.titre] = film\r
          @filmsFichier[film.fichiers[0]] = film\r
       end\r
@@ -246,7 +266,7 @@ class Films
                         \r
             # on skip si le film est déjà dans la BD\r
             if film = @filmsFichier[fichier]\r
-               puts "[i] Already exists in DB : #{film.titre} (#{fichier})"\r
+               puts "[!] Film déjà dans la BD : #{film.titre} (#{film.fichiers[0]})"\r
                next\r
             end\r
              \r