- /<img src="(.*?)" border="0" alt="" class="affichette" \/>/ =~ ficheHtml\r
- unless $1.nil?\r
- @threadImage = Thread::new($1){|imageUrl|\r
- begin\r
- imageUrl = URI.parse(imageUrl) \r
- connexionImage = Net::HTTP::new(imageUrl.host)\r
- r, image = connexionImage.get(imageUrl.path)\r
- f = File::new($repBase + "/" + $repAffichette + film.id.to_s + ".jpg", 'w').binmode\r
- f.write(image)\r
- f.close\r
- rescue Exception => e\r
- puts e.message\r
- puts e.backtrace \r
- end\r
- }\r
+ puts "Pompage de #{film.titre} (#{film.fichiers[0]}) ..."\r
+ \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
+ @threadImage = Thread::start($1){|imageUrl|\r
+ nbRetry = 0\r
+ begin\r
+ imageUrlParsed = URI.parse(imageUrl) \r
+ connexionImage = Net::HTTP::new(imageUrlParsed.host).start\r
+ film.setImage(connexionImage.get(imageUrlParsed.path).body)\r
+ connexionImage.finish\r
+ rescue Exception => e\r
+ puts e.message\r
+ puts e.backtrace \r
+ puts "[!] Erreur lors du chargement de l'image '#{imageUrl}', retry.." \r
+ retry if (nbRetry += 1) < 5 \r
+ end\r
+ }\r
+ end\r