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