-# Représente un ensemble de films\r
+# Représente un ensemble de films\r
\r
require 'rexml/document'\r
require 'thwait'\r
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
\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
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
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
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
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
@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