ADD mise à jour de la liste des films
[pompage.git] / src / film.rb
index b070abb..24e37b8 100644 (file)
@@ -28,7 +28,9 @@ class Film
    # Constructeur. N'entreprend aucune action (chargement), crée juste un film vide.\r
    # p1 [String] : le fichier correspondant au film\r
    def initialize(fichier, mod)\r
-      @fichiers = [fichier] # le chemin des fichiers est relatif au repertoire de base\r
+      @fichiers = [] # le chemin des fichiers est relatif au repertoire de base\r
+      @fichiers << fichier if fichier != nil && fichier != ''\r
+      \r
       @mod = mod\r
            \r
       @id = 0\r
@@ -44,13 +46,21 @@ class Film
       @synopsis = nil\r
       @budget = nil      \r
       @budgetUnite = 'euro'\r
-      @url\r
+      @url = nil\r
             \r
       @nbReponses = 0\r
       \r
       # mémorise les tuples {nom => id} dans le cas ou il y a plusieurs choix de films après une recherche\r
       @choix = {}\r
    end\r
+   \r
+   def titre=(t)\r
+      if t == nil\r
+         @titre = ""\r
+      else\r
+         @titre = t\r
+      end\r
+   end\r
 \r
    # Est-ce qu'il y a eu plusieurs réponses pour ce film lors de la cherche sur le net ?\r
    def plusieursReponses?\r
@@ -121,10 +131,10 @@ class Film
       titre = $1.gsub(/[_\.]/, ' ')\r
       #remplace les suites d'espaces par un seul\r
       titre.gsub!(/ {2,}/,' ')\r
-      titre.gsub!(/\[.*?\]/,'')\r
-      titre.gsub!(/\(.*?\)/,'')\r
-      titre.gsub!(/\{.*?\}/,'')\r
-      #vire les espaces au début et à la fin\r
+      titre.gsub!(/\[.*?\]/,' ')\r
+      titre.gsub!(/\(.*?\)/,' ')\r
+      titre.gsub!(/\{.*?\}/,' ')\r
+      # vire les espaces au début et à la fin\r
       titre.strip!\r
       \r
       @titre = titre.dup\r
@@ -145,6 +155,20 @@ class Film
       self\r
    end\r
    \r
+   def cheminImage\r
+      return $repBase + "/" + $repAffichette + @id.to_s + ".jpg";\r
+   end\r
+   \r
+   def setImage(image)\r
+      f = File::new(cheminImage, 'w').binmode\r
+      f.write(image)\r
+      f.close\r
+   end\r
+   \r
+   def possedeImage?\r
+      return File::exist?(cheminImage)\r
+   end\r
+   \r
    # Met à jour un ou plusieurs champs correspondant à 'champ'.\r
    def update(champ)\r
       return if @url == nil || @url == ""\r
@@ -158,13 +182,13 @@ class Film
       \r
       racine = REXML::Element::new('film')\r
       racine.add_attribute('id', @id.to_s)\r
-      \r
+\r
       fichiers = REXML::Element::new('fichiers')\r
       @fichiers.each{|f|\r
          fichiers.add(REXML::Element::new('fichier').add_text(f))  \r
       }\r
-      racine.add(fichiers)      \r
-      \r
+      racine.add(fichiers)\r
+\r
       racine.add(REXML::Element::new('titre').add_text(@titre))\r
       racine.add(REXML::Element::new('annee').add_text(@annee))\r
 \r
@@ -215,5 +239,40 @@ class Film
 \r
       racine\r
    end\r
+\r
+   def to_s \r
+      acc = "'#{@titre}'\n" +\r
+       " id = #{@id}\n" +\r
+       " annee = #{@annee}\n" +\r
+       " réalisateurs :\n"\r
+      @realisateurs.each{|r|\r
+        acc += " - " + r.to_s\r
+      }\r
+      acc += " acteurs :\n"\r
+      @acteurs.each{|a|\r
+        acc += " - " + a.to_s\r
+      }\r
+      acc += " pays :\n"\r
+      @pays.each{|p|\r
+        acc += " - " + p.to_s\r
+      }\r
+      acc += " genres :\n"\r
+      @genres.each{|g|\r
+        acc += " - " + g.to_s\r
+      }\r
+      acc += " fichiers :\n"\r
+      @fichiers.each{|f|\r
+        acc += " - " + f + "\n"\r
+      }\r
+     \r
+     acc += " durée : #{@duree}\n"\r
+     acc += " critique presse : #{@critiquePresse}\n"\r
+     acc += " critique specatateur : #{@critiqueSpectateur}\n"\r
+     acc += " synopsis : #{@synopsis}\n"\r
+     acc += " budget : #{@budget} #{@budgetUnite}\n"\r
+     acc += " url : #{@url}\n" \r
+\r
+      return acc\r
+   end\r
 end\r
-  
\ No newline at end of file
+  \r