FIX Correction de l'html dans le synopsis
[pompage.git] / src / film.rb
index c97e518..21c27cb 100644 (file)
@@ -1,3 +1,5 @@
+# Attention, le but de ce fichier n'est pas d'être le plus clair possible ^-^´´\r
+\r
 require 'rexml/document'\r
 require 'net/http'\r
 require 'thread'\r
@@ -12,7 +14,10 @@ require 'constantes.rb'
 \r
 class String\r
    def virerBalisesHTML\r
-      return self.gsub(/<(.*?)>/, '')\r
+      return gsub(/<(.*?)>/, '')\r
+   end\r
+   def virerBalisesHTML!\r
+      gsub!(/<(.*?)>/, '')\r
    end\r
 end\r
 \r
@@ -262,7 +267,7 @@ public
       \r
       @aPlusieursReponses = false # pour faire les choses bien\r
       \r
-      puts @fichiers[0]\r
+      puts " -> " + @fichiers[0]\r
       puts "Fais ton choix jeune padawan (un caractère et pas plus)"\r
       tabNoms = @idsAllocine.keys\r
       choix = 1\r
@@ -355,12 +360,12 @@ public
             \r
          #/<a href="\/film\/fichefilm_gen_cfilm=(\d+)\.html" class="link1">/ =~ donneesHtml\r
          #r = donneesHtml.scan(/<a href="\/film\/fichefilm_gen_cfilm=(\d+)\.html" class="link1">(.*?)<\/a>/)\r
-         r = donneesHtml.scan(/<a href="\/film\/fichefilm_gen_cfilm=(\d+)\.html" class="link1">(.*?)<\/a>(?:<\/h4><h5 style="color: #666666">&nbsp;(.*?)<\/h5>){0,1}/)\r
+         r = donneesHtml.scan(/<a href="\/film\/fichefilm_gen_cfilm=(\d+)\.html" class="link1">(.*?)<\/a>(?:<\/h4><h5 style="color: #666666">&nbsp;(.*?)<\/h5>){0,1}(?:<h4><br \/><\/h4>){0,1}(?:<h4 style="color: #666666"> de (.*?)<\/h4>){0,1}(?:<h4 style="color: #666666">&nbsp;avec (.*?)<\/h4>){0,1}(?:<h4 style="color: #666666">&nbsp;\((.*?)\)<\/h4>){0,1}/)\r
          \r
          if r.length > 1\r
             @aPlusieursReponses = true\r
             r.each{|f|\r
-               @idsAllocine[f[1].virerBalisesHTML + (f[2] != nil ? " " + f[2].virerBalisesHTML : "")] = f[0]\r
+               @idsAllocine[f[1].virerBalisesHTML + (f[2] != nil ? " " + f[2].virerBalisesHTML : "") + (f[3] != nil ? " de " + f[3].virerBalisesHTML : "") + (f[4] != nil ? " avec " + f[4].virerBalisesHTML : "") + (f[5] != nil ? " (" + f[5].virerBalisesHTML + ")" : "")] = f[0]\r
             }\r
          elsif r.length == 1\r
             loadDepuisIdAllocine(r[0][0], connexionHttp) \r
@@ -434,8 +439,10 @@ private
       } unless $1.nil?     \r
       \r
       # Synopsis            \r
-      /Synopsis.*?<h4>(.+?)<\/h4>/m =~ ficheHtml\r
+      /Synopsis.*?<h4>(.*?)<\/h4>/m =~ ficheHtml\r
       @synopsis = $1 unless $1.nil?\r
+      @synopsis.gsub!(/<br\s*\/>|<br\s*>/, "\n")\r
+      @synopsis.virerBalisesHTML!\r
       \r
       # Budget       \r
       /Budget<\/b> : (.+?) millions d'euros<\/h4>/ =~ ficheHtml\r
@@ -488,7 +495,13 @@ public
       }      \r
       racine.add(genres) \r
       \r
-      racine.add(REXML::Element::new('synopsis').add_text(@synopsis))\r
+      synopsisElement = REXML::Element::new('synopsis')\r
+      @synopsis.split("\n").each{|s|\r
+         next if s =~ /^\s*$/\r
+         synopsisElement.add(REXML::Element::new('p').add_text(s))\r
+      }\r
+      racine.add(synopsisElement)\r
+      \r
       budgetElement = REXML::Element::new('budget')\r
       budgetElement.add_text(@budget)\r
       budgetElement.add_attribute('unite', @budgetUnite)\r