ADD Pompage des images ! :)
[pompage.git] / src / films.rb
index 59f4af7..e93e615 100644 (file)
@@ -1,4 +1,4 @@
-# Représente un ensemble de films\r
+# Représente un ensemble de films\r
 \r
 require 'rexml/document'\r
 require 'thwait'\r
@@ -11,9 +11,11 @@ require 'constantes.rb'
 require 'iconv'\r
 \r
 class Films\r
-   def initialize(xmlFile)\r
+   def initialize(xmlFile, modClasse)\r
       @xmlFile = xmlFile\r
       \r
+      @modClasse = modClasse\r
+      \r
       # repertoire de base, par exemple C:/Divx/\r
       @repBase = ''   \r
          \r
@@ -54,14 +56,17 @@ class Films
       \r
       puts "Pompage terminé, temps : #{Time::now - t} secondes"\r
       \r
-      # traite les films qui avaient plusieurs réponses lors de la recherche\r
+      # traite les films qui avaient plusieurs réponses lors de la recherche\r
       # l'utilisateur doit faire un choix\r
       i = 1\r
       @filmsPlusieursReponses.each{|f|\r
          puts\r
          puts "Plop, ya un conflit #{i} / #{@filmsPlusieursReponses.length} :"\r
-         if f.reglerConflitPlusieursReponses\r
-            ajouterFilm(f)\r
+         case f.reglerConflitPlusieursReponses\r
+            when 1\r
+               ajouterFilm(f)            \r
+            when 3\r
+               break\r
          end\r
          i += 1\r
       }\r
@@ -69,13 +74,20 @@ class Films
       i = 1\r
       @filmsAucuneReponse.each{|f|\r
          puts\r
-         puts "Plop, Ce film n'a pas été trouvé{i} / #{@filmsAucuneReponse.length} :"\r
-         if f.reglerConflitPlusieursReponses\r
-            ajouterFilm(f)\r
+         puts "Plop, Ce film n'a pas été trouvé #{i} / #{@filmsAucuneReponse.length} :"\r
+         case f.reglerConflitPlusieursReponses\r
+            when 1\r
+               ajouterFilm(f)\r
+            when 3\r
+               break\r
          end\r
          i += 1\r
       }\r
       \r
+      @films.each{|t,f|\r
+         f.mod.finish\r
+      }\r
+      \r
       Dir::chdir(repPrecedant)      \r
    end\r
    \r
@@ -114,7 +126,7 @@ class Films
       racine.each_element{|e|       \r
          id = e.attribute('id').to_s.to_i\r
        \r
-         if id > @idDisponible\r
+         if id >= @idDisponible\r
             @idDisponible = id + 1   \r
          end\r
          \r
@@ -132,7 +144,7 @@ class Films
          pays = e.get_elements('lespays')[0].get_elements('pays')\r
          genres = e.get_elements('genres')[0].get_elements('genre')\r
          \r
-         film = Film::new(fichiers[0].get_text.value)\r
+         film = Film::new(fichiers[0].get_text.value, @modClasse::new)\r
          \r
          film.id = id\r
          film.titre = titre.value unless titre.nil?\r
@@ -209,11 +221,11 @@ class Films
          next if f[0,1] == '.'\r
          fichier = (r == '.' ? '' : r + "/") + f\r
          if File::directory?(fichier)\r
-            litRepertoireR(fichier) \r
+            pomperR(fichier) \r
          else\r
             \r
             # véfication de l'extension\r
-            /^.*?\.(.{3,4})$/ =~ fichier\r
+            /^.*?\.([^.]{3,4})$/ =~ fichier\r
             if !FILMS_EXTENSIONS.include?($1)\r
                next\r
             end\r
@@ -237,8 +249,9 @@ class Films
             @threadsWait.join_nowait(\r
                Thread::new{\r
                   begin                  \r
-                     film = Film::new(fichier).loadData\r
+                     film = Film::new(fichier, @modClasse::new)\r
                      film.id = getNewId # on lui donne un nouvel ID\r
+                     film.loadData # on charge ses données\r
                      \r
                      unless film.nil? # le film a été correctement construit\r
                         ajouterFilm(film)\r