MOD Petites modifs peux significatives
authorpifou <pifou@02bbb61a-6d21-0410-aba0-cb053bdfd66a>
Wed, 18 Jul 2007 08:34:22 +0000 (08:34 +0000)
committerpifou <pifou@02bbb61a-6d21-0410-aba0-cb053bdfd66a>
Wed, 18 Jul 2007 08:34:22 +0000 (08:34 +0000)
git-svn-id: svn://euphorik.ch/pompage@58 02bbb61a-6d21-0410-aba0-cb053bdfd66a

doc/todo.txt
src/basemodule.rb
src/constantes.rb
src/films.rb
src/modules/allocine.rb
src/yopyop.rb

index fc428ba..f9bde68 100644 (file)
 [ok] Choisir un film aléatoirement dans la liste des films\r
 [ok] Tout dérouler ou enrouler les films actuellement affichées\r
 [ok] problème avec les & dans le nom du fichier, donne ca dans la base xml -> "&amp;amp;" au lieu de "&amp;"\r
-\r
-* Chargement du xml trop lent !\r
-* Ajouter des options au programme :\r
+[ok] Pomper les images (affichettes)\r
+[ok] Ajouter des options au programme :\r
  - Mettre à jour un film en donnant son ID en paramètre\r
  - Donner en paramètre un dossier pour les images\r
  - Re synchroniser toutes les informations des films (à partir du lien mémorisé dans les films)\r
-* Pomper les images (affichettes)\r
\r
+* Chargement du xml trop lent ! : dans '/src/films.rb' : 'def chargerFilms'\r
 * Parser les langues et sous-titres et les ajouter dans l'xml\r
-* Parser les langues et sous-titres et les ajouter dans l'xml
\ No newline at end of file
+* remplacer les scripts bats par des scripts compatibles POSIX (il faudra alors utiliser cygwin sous windows)\r
+* pouvoir supporter plusieurs 'module' de pompage simultanément et mémoriser plusieurs url (une par module) par film
\ No newline at end of file
index 6a0deef..2987b5b 100644 (file)
@@ -21,7 +21,7 @@ class Basemodule
    # p1 : l'id de allocine\r
    def loadURL(url, film)\r
       raise\r
-   end   \r
+   end\r
     \r
    # appelé lorsque le module n'est plus utile (permet de libérer des ressource par exemple).\r
    def finish\r
index 3e81467..eeaae1b 100644 (file)
@@ -6,16 +6,17 @@
 # UTF-8\r
 $KCODE = 'u'\r
 \r
-#constantes\r
+# les extensions des fichiers considérés comme des films\r
 FILMS_EXTENSIONS = ['avi', 'mkv', 'rmvb', 'ogm', 'divx']\r
 \r
-# la structure d'un fichier (pas utilisé)\r
+# la structure d'un fichier\r
+# actuellement pas utilisé, il était prévu au départ de renommer automatiquement les fichiers suivant ce format\r
 FICHIER_PATTERN = "<title> [<codec>] [<lang-audio>] [<lang-st>] [<team>]"\r
 \r
 # charge les informations depuis le web ?\r
 LOAD_DATA = true \r
 \r
-#le nombre de connexions simultanées sur le site de films\r
+# le nombre de connexions simultanées sur le site de films\r
 NB_CONN_MAX = 20\r
 \r
 # une aide pour l'utilisateur\r
index 24befe8..0f50c99 100644 (file)
@@ -51,7 +51,7 @@ class Films
       }\r
    end\r
 \r
-   # Lit un repertoire de manière recursive et va chercher les informations concernant le film sur le net\r
+   # Lit un repertoire de manière recursive et va chercher les informations concernant le film sur le net.\r
    def pomper(r)\r
       @repBase = r\r
       repPrecedant = Dir::getwd\r
@@ -263,7 +263,6 @@ class Films
             pomperR(fichier) \r
          else\r
             \r
-            #CGI::escapeHTML(\r
             fichier = Iconv.iconv("UTF-8", "ISO-8859-1", fichier)[0]\r
                         \r
             # véfication de l'extension\r
@@ -288,14 +287,15 @@ class Films
                Thread::start{\r
                   begin                  \r
                      film = Film::new(fichier, @modClasse::new)\r
-                     @mutexId.synchronize {\r
+                     @mutexId.synchronize{\r
                         film.id = getNewId # on lui donne un nouvel ID\r
                      }\r
-                     film.loadData # on charge ses données\r
                      \r
-                     @mutexAjout.synchronize {\r
+                     film.loadData # chargement de ses données\r
+                     \r
+                     @mutexAjout.synchronize{\r
                         ajouterFilm(film)\r
-                     }                     \r
+                     }\r
                   rescue Exception => e\r
                      puts e.message\r
                      puts e.backtrace\r
index b4b65f0..c26c214 100644 (file)
@@ -20,7 +20,7 @@ module Net
    end\r
 end\r
 \r
-# un module d'importation pour le site "www.allocine.fr"\r
+# Un module d'importation pour le site "www.allocine.fr".\r
 class Allocine  < Basemodule\r
    \r
    def createConnexion\r
@@ -37,7 +37,7 @@ class Allocine  < Basemodule
       @connexion = nil\r
    end\r
    \r
-   # voir le parent.\r
+   # Voir le parent.\r
    def rechercherFilm(titre)\r
       createConnexion\r
       \r
@@ -82,11 +82,11 @@ class Allocine  < Basemodule
       loadPath("/film/fichefilm_gen_cfilm=#{id}.html", film)\r
    end\r
    \r
+   # Voir le parent.\r
    def loadURL(url, film)\r
       loadPath(URI.parse(url).path, film)\r
    end\r
    \r
-   # Voir le parent.\r
    def loadPath(path, film)\r
       createConnexion\r
 \r
@@ -103,9 +103,10 @@ class Allocine  < Basemodule
       \r
       puts "Pompage de #{film.titre} (#{film.fichiers[0]}) ..."\r
       \r
-      #convertit le code latin-1 en UTF8      \r
+      # convertit le code latin-1 en UTF8      \r
       html = Iconv.iconv("UTF-8", "ISO-8859-1", html)[0]\r
             \r
+      # pompage de l'image dans un thread séparé\r
       if take?("image") && ($force || !film.possedeImage?)\r
          /<img src="(.*?)" border="0" alt="" class="affichette" \/>/ =~ html\r
          unless $1.nil?\r
@@ -212,9 +213,10 @@ class Allocine  < Basemodule
       end\r
       \r
       fermerConnexion\r
-   end   \r
+   end\r
    \r
    def finish\r
+      # on attend que tous les threads de pompage d'image aient terminé\r
       @threadImage.join if defined? @threadImage\r
    end\r
 end
\ No newline at end of file
index 2b1116e..2e66148 100644 (file)
@@ -1,7 +1,7 @@
 # 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
+# - Parcourir des dossiers recursivement à la recherche de fichiers videos\r
+# - Parser les fichiers afin d'en retirer les infos suivantes : (pas encore implémenté)\r
 #  o le codec video\r
 #  o le codec son\r
 #  o les pistes audio\r
@@ -46,7 +46,7 @@ $*.each{|a|
       when '-d'\r
          $repFilms = a\r
       when '-m'\r
-         mod = a\r
+         mod = a.capitalize\r
       when '-a'\r
          $repAffichette = a\r
       when '-u'\r