ADD Ajout de la possibilité de mettre à jour des champs de la bd
[pompage.git] / src / film.rb
index a282441..b070abb 100644 (file)
@@ -1,7 +1,4 @@
-# Représente un Film.\r
-# Permet de charger des données depuis allocine.fr\r
-# Permet d'effectuer des recherches depuis allocine.fr\r
-# TODO : rendre la classe indépendant de la source de donnée pour pouvoir utiliser d'autres sites comme par exemple imdb.com\r
+# coding: utf-8\r
 \r
 require 'pays.rb'\r
 require 'genre.rb'\r
@@ -20,19 +17,19 @@ class String
    end\r
 end\r
 \r
+# Représente un Film.\r
+# Permet de charger des données depuis allocine.fr\r
+# Permet d'effectuer des recherches depuis allocine.fr\r
 class Film\r
-   \r
-   def Film::setModule(m)\r
-      @@module = m\r
-   end\r
-   \r
+      \r
    # toutes les données membres sont accessibles par défaut (écriture/lecture)\r
-   attr_accessor :id, :titre, :url, :fichiers, :annee, :realisateurs, :acteurs, :pays, :duree, :critiquePresse, :critiqueSpectateur, :genres, :synopsis, :budget\r
+   attr_accessor :id, :titre, :url, :fichiers, :mod, :annee, :realisateurs, :acteurs, :pays, :duree, :critiquePresse, :critiqueSpectateur, :genres, :synopsis, :budget\r
 \r
    # Constructeur. N'entreprend aucune action (chargement), crée juste un film vide.\r
    # p1 [String] : le fichier correspondant au film\r
-   def initialize(fichier)\r
+   def initialize(fichier, mod)\r
       @fichiers = [fichier] # le chemin des fichiers est relatif au repertoire de base\r
+      @mod = mod\r
            \r
       @id = 0\r
       @titre = ''\r
@@ -80,6 +77,7 @@ class Film
            puts "#{i}. #{n}"\r
            i += 1\r
          }\r
+         puts "______"\r
          puts "A. Passer et l'ajouter"\r
          puts "B. Ignorer"\r
          puts "C. Tout ignorer"\r
@@ -102,7 +100,7 @@ class Film
          end\r
       end\r
       \r
-      @@module.load(@choix[tabNoms[choix-1]], self)\r
+      @mod.load(@choix[tabNoms[choix-1]], self)\r
       \r
       return 1\r
    end\r
@@ -135,11 +133,11 @@ class Film
          return self\r
       end\r
       \r
-      reponses = @@module.rechercherFilm(titre)\r
+      reponses = @mod.rechercherFilm(titre)\r
       @nbReponses = reponses.size\r
       \r
       if @nbReponses == 1\r
-         @@module.load(reponses.values[0], self)\r
+         @mod.load(reponses.values[0], self)\r
       else\r
          @choix = reponses   \r
       end\r
@@ -147,6 +145,13 @@ class Film
       self\r
    end\r
    \r
+   # Met à jour un ou plusieurs champs correspondant à 'champ'.\r
+   def update(champ)\r
+      return if @url == nil || @url == ""\r
+      @mod.setChamp(champ)\r
+      @mod.loadURL(@url, self)\r
+   end\r
+   \r
    # Renvoie un film sous la forme d'un élément XML .\r
    # ret [REXML::Element] : un element xml <film>\r
    def getXml\r