+# coding: utf-8\r
# YopYop est un super programme permettant de :\r
# - Parcourir des dossiers recursivement à la recherche de fichier video\r
# - Parser les fichiers afin d'en retirer les infos suivantes :\r
# - Etablir une petit base de données des films au format xml\r
\r
require 'films.rb'\r
+require 'film.rb'\r
\r
-# non ce n'est pas du perl ;)\r
-$: << Dir::getwd + "/" + __FILE__.split('/')[0]\r
+require 'images.rb'\r
\r
# vérifie les arguments donnés\r
-rep = '.'\r
-if $*.empty?\r
- puts 'USAGE : <xml file> [<directory>]'\r
+$xmlFile = nil\r
+$repBase = Dir::getwd\r
+$repFilms = '.'\r
+$repAffichette = '../img/affichette/'\r
+mod = 'Allocine'\r
+purgeImages = false\r
+\r
+aPrec = ''\r
+$*.each{|a|\r
+ case a\r
+ when '-p'\r
+ purgeImages = true\r
+ next\r
+ end\r
+ case aPrec\r
+ when '-x'\r
+ $xmlFile = a\r
+ when '-d'\r
+ $repFilms = a\r
+ when '-m'\r
+ mod = a\r
+ when '-a'\r
+ $repAffichette = a\r
+ end \r
+ aPrec = a\r
+}\r
+\r
+if $xmlFile.nil?\r
+ puts USAGE\r
exit 0\r
-elsif $*.size == 1\r
- puts 'no directory given, use the current'\r
-else\r
- rep = $*[1]\r
end\r
-xmlFile = $*[0]\r
\r
-unless File::directory?(rep)\r
- puts "'#{rep}' is not a valid directory"\r
+unless File::directory?($repFilms)\r
+ puts "'#{$repFilms}' is not a valid directory"\r
exit 1\r
-end \r
+end\r
+\r
+begin\r
+ require "modules/#{mod}"\r
+rescue\r
+ puts "Le module '#{mode}' n'existe pas. Les modules se trouvent dans le dossier 'src/modules'"\r
+ puts USAGE\r
+ exit 1\r
+end\r
\r
# charge les films à partir du fichier xml\r
-films = Films::new(xmlFile)\r
+films = Films::new($xmlFile, Module.class_eval(mod))\r
\r
-# parcours le dossier donné et recherche les infos sur le net\r
-films.pomper(rep)\r
+if purgeImages\r
+ Images.nettoyer(films, $repAffichette)\r
+else\r
+ # parcours le dossier donné et recherche les infos sur le net\r
+ films.pomper($repFilms)\r
\r
-# ecrit le fichier XML\r
-films.sauverFilms()\r
+ # écrit le fichier XML\r
+ films.sauverFilms()\r
+end\r