} \r
end\r
\r
- # Renvoie tous les films sous la forme d'un élement XML.\r
+ # Renvoie tous les films sous la forme d'un document XML.\r
def Film::getFilmsXml\r
racine = REXML::Element::new('filmographie')\r
+ docXml = REXML::Document::new\r
+ docXml.add(racine)\r
+ docXml.xml_decl().encoding = "UTF-8" \r
+ docXml.xml_decl().dowrite \r
+ \r
@@films.each{|nom, f|\r
racine.add(f.getXml)\r
- }\r
- return REXML::Document::new.add(racine)\r
+ } \r
+ docXml\r
end\r
\r
private\r
next\r
end\r
\r
- film = nil \r
+ film = nil\r
+ \r
@@nbConn += 1 \r
@@threadsWait.join_nowait(\r
Thread::new{ \r
begin\r
@@mutex.lock if @@nbConn >= NB_CONN_MAX \r
- #p @@nbConn \r
film = Film::filmsFactory(fichier)\r
unless film.nil?\r
if @@films.has_key?(film.titre)\r
end\r
\r
public \r
- #charge les informations du films à partir d'allocine.fr\r
+\r
+ # Charge les informations du films à partir d'allocine.fr\r
+ # ret [Film] : soit même\r
def loadData\r
unless LOAD_DATA\r
@titre = @fichier\r
/<title>(.*?)<\/title>/ =~ ficheHtml\r
@titre = $1 unless $1.nil?\r
\r
- #puts "Movie found : #{@titre} (#{@fichier})"\r
+ puts "Movie found : #{@titre} (#{@fichier})"\r
\r
# Année\r
/<h4>Année de production : (\d+)<\/h4>/ =~ ficheHtml\r
} unless $1.nil? \r
\r
# Duree\r
- /<h4>Durée : (\d+?)h (\d+?)min.<\/h4>/ =~ ficheHtml\r
+ /<h4>Durée : (\d+)h (\d+)min./ =~ ficheHtml\r
@duree = $1.nil? ? $2.to_i : $1.to_i * 60 + $2.to_i\r
\r
- # Critique presse\r
- /Presse<\/a> <img src=".*?etoile_(\d)\.gif"/ =~ ficheHtml\r
+ # Critiques presse et spectateur\r
+ /Presse.*etoile_([012345]).*Spectateurs.*etoile_([012345])"/m =~ ficheHtml\r
@critiquePresse = $1.to_i unless $1.nil?\r
- \r
- # Critique spectateur\r
- /Spectateurs<\/a> <img src=".*?etoile_(\d)\.gif"/ =~ ficheHtml\r
- @critiqueSpectateur = $1.to_i unless $1.nil?\r
+ @critiqueSpectateur = $2.to_i unless $2.nil?\r
\r
# Genre\r
/Genre : (.*)/ =~ ficheHtml\r