{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
{\colortbl ;\red0\green128\blue0;\red102\green102\blue102;\red128\green0\blue128;\red230\green230\blue230;\red0\green0\blue0;\red0\green0\blue255;\red255\green102\blue0;\red255\green0\blue0;}
{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\cf1\f0\fs20 // DESCRIPTION Cinemovies avec grandes Images et liens Bandes-Annonces\cf2\par
\cf1 // AUTHOR JUIN J\'e9r\'f4me \par
// LANGUAGE FR\cf3\par
\pard\qr\cf4\f1\fs2 fCopieFichier (fRepEnCours () + "\\param.ndx" , fRepEnCours () + "\\myvideosoft.sys")\par
\pard\cf2\f0\fs20\par
\cf3 MovieDatabaseValue\cf2 = "cinemovies"\par
\par
\cf1 // verification de la version du script\par
L\cf2 ast\cf1 V\cf2 ersion is \cf5 String\cf1 = \cf6 GetPage\cf1 ("h\cf2 ttp:\cf1 //www.pixel-infoweb.com/download/shareddoc/FILMS/scripts/versions.html", "" , "" )\par
\cf5 If\cf2 (LastVersion = \cf1 "\'04")\cf2 OR (LastVersion = \cf1 "")\cf2 OR \f1 (\cf6\f0\fs18 PositionOccurrence\cf2 (LastVersion,"La page est introuvable",1)>0\f1\fs20 ) \cf5\f0 Then\cf2 \par
\tab\cf5 Goto \cf2 ServerOff\par
\cf5 End\cf1\par
L\cf2 ast\cf1 V\cf2 ersion = \cf6 BetweenStrings\cf2 (LastVersion , "\cf6 #c\cf2 inemovies\cf6 #" \cf2 , "\cf6 #/c\cf2 inemovies\cf6 #"\cf2 )\cf6\par
\cf5 C\cf2 urrentversion is \cf5 String\cf2 = "1.04"\cf5\par
If\cf2 CurrentVersion <> LastVersion \cf5 Then\par
\cf2\tab\cf1 DownloadFile ("\cf2 http://www.myvideosoft.com/download/shareddoc/FILMS/scripts/cinemovies_v" + LastVersion + ".script"\cf1 , f\cf2 RepEXE() + "/Scripts"\cf1 , "\cf2 cinemovies_v" + LastVersion + ".script"\cf1 )\cf6\par
\tab UserInformationMessage\cf2 ("cinemovies v" + LastVersion + cr + cr+ ...\par
\tab\tab\tab\tab\tab "Une mise a jour du script Cinemovies vient d'\'eatre rapatri\'e9e." + cr+...\par
\tab\tab\tab\tab\tab "T\'e9lechargez vos fiches avec celle-ci. Merci")\par
\tab\cf5 Return\par
End\par
\cf2 ServerOff:\par
\par
\cf1 // MODE DEBUG: enlever le double slash pour verifier que votre adresse de recherche est correcte.\cf2\par
\cf1\lang2057 // ShellExecute("http://www.cinemovies.fr/resultat_recherche.php?cherche" + TitleToSearch)\cf2\par
\par
\cf1\lang1036 // cette page liste les prochaines sorties de films\par
\lang2057 HtmlCode is \cf5 String\cf1 = \cf6 GetPage\cf1 ("\cf0 http://www.cinemovies.fr/resultat_recherche.php?cherche=\cf1 ", \cf7 TitleToSearch\cf1 \cf2 , "" \cf1 )\cf2\par
\cf5\lang1036 If\cf1 HtmlCode = "" \cf5 Then\cf2\par
\cf1\tab\cf6 UserErrorMessage\cf1 ("Cette page n'a pas \'e9t\'e9 trouv\'e9")\cf2\par
\cf1\tab\cf5 Return\cf2\par
\cf5 End\par
\cf2\par
\cf1 //arborescence g\'e9n\'e9rale du stockage Allocine-Generalisation\par
\cf2\lang2057 Movies_Delimiter is \cf5 String\cf2 = "fiche_film.php?IDfilm="\par
\cf1 Movies_Number is \cf5 Int \cf1 = \cf6 StringCounter\cf1 (\cf2 HtmlCode\cf1 , Movies_Delimiter)\cf2\par
\cf5\lang1036 If\cf1 Movies_Number = 0 \cf5 Then\cf2\par
\cf1\tab\cf6 UserErrorMessage\cf1 ("Cette page n'a pas \'e9t\'e9 trouv\'e9\cf2 ")\cf1\par
\cf5\tab Return\par
End\par
\cf2\par
\cf1 // MODE DEBUG : enlever les deux slash devant Information pour tester la capture du nombre de films\cf2\par
\cf1\lang2057 //\cf8 Information\cf1 ("Movies Number = " + Movies_Number)\cf2\par
\par
i is int\par
Movie_ID, Movie_Title, Movie_URL are \cf5 String\cf2\par
\cf5 For\cf2 i=2 to Movies_Number + 1\par
\tab\cf0 Movie_Title = Movies_Delimiter + \cf6 StringExtraction\cf0 (\cf1 HtmlCode\cf0 , i ,Movies_Delimiter )\par
\tab Movie_ID = \cf6 BetweenStrings\cf0 ( Movie_Title , Movies_Delimiter , ""\cf2 "\cf0 " )\cf2\tab\par
\tab\cf1 Movie_Title = \cf6 BetweenStrings\cf1 (Movie_Title, "\cf2 "">\cf1 " , "")\par
\cf2\tab Movie_Title = \cf6 StringRefine\cf2 (Movie_Title)\par
\tab\cf1 Movie_Title = \cf6 FormatString\cf1 (Movie_Title, "UC")\par
\cf2\tab\cf1 Movie_Title = RemoveHTMLTags (Movie_Title)\cf2\par
\tab Movie_URL = "http://www.cinemovies.fr/fiche_film.php?IDfilm=" + Movie_ID\par
\tab\cf6 AddMovieToList\cf2 (i, Movie_ID, Movie_Title, Movie_URL)\par
\cf1\par
\lang1036 //MODE DEBUG : enlever les deux slash devant \cf8 Trace\cf1 pour tester la capture des titres\par
\lang2057 //\cf8 Trace\cf1 (Movie_ID, Movie_Title, Movie_URL)\cf2\par
\cf5\lang1036 End\cf2\par
\par
\cf1 // Ouverture de la liste des films trouv\'e9s\par
\cf6\lang2057 OpenMoviesList\cf1 ()\cf2\par
\cf5 If\cf1 \cf3 MovieIDValue\cf1 = "" \cf5 Then\cf2\par
\cf1\tab\cf6 UserErrorMessage\cf1 ("Vous n'avez s\'e9lectionn\'e9 aucun film\cf2 .\cf1 ")\cf2\par
\tab\cf5 Return\cf2\par
\cf5 End\cf2\par
\par
\cf1 // MODE DEBUG : Verify URL (must be deactivate in the final version of the script)\cf2\par
\cf1 // ShellExecute("http://www.cinemovies.fr/fiche_film.php?IDfilm=" + Movie_ID)\cf2\par
\par
\cf1\lang1036 // Extraction du code Html de la page d\'e9sir\'e9e\cf2\par
\lang2057 HtmlCode = \cf6 GetMovie\cf2 (\cf3 MovieURLValue\cf2 ,"", "")\par
\cf5 If\cf2 HtmlCode = "" \cf5 Then\cf2\par
\tab\cf6\lang1036 UserErrorMessage\cf2 (\cf1 "Cette page n'a pas \'e9t\'e9 trouv\'e9e"\cf2 )\par
\tab\cf5 Return\cf2\par
\cf5 End\par
\cf2\par
\cf1 //Recuperation des don\'e9es du film\par
\cf2\par
\cf1\lang2057 //dur\'e9e a transformer en minutes\cf2\par
\cf1 Tmps is \cf5 String\cf1 = \cf6 BetweenStrings\cf1 (HtmlCode, "Dur\'e9e:", "<\cf2 /td>\cf1 " )\cf3\par
\cf6 T\cf2 mps = \cf6 StringMiddle\cf2 (Tmps, 2 ,Length (Tmps) )\par
\cf1 Heure is \cf5 String\cf1 = \cf6 StringLeft\cf2 (Tmps, 1 )\cf1\par
Min is \cf5 String\cf1 = \cf6 StringMiddle\cf1 (Tmps, \cf2 3\cf1 , \cf2 Length(Tmps)\cf1 )\cf2\par
\cf3 MovieDurationValue\cf1 = \cf6 NumToString\cf1 (\cf6 StringToNum\cf1 (Heure)*60 + \cf6 StringToNum\cf1 (Min))\par
\cf2\par
\cf1 //Origine Pays\cf2\par
\cf3 P\cf2 ays is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (HtmlCode , 1, "Pays")\par
\cf3 MovieCountryValue\cf2 =\cf6 BetweenStrings\cf2 (Pays, """>", "")\par
\cf3 MovieCountryValue\cf2 = \cf6 FormatString\cf2 (\cf3 MovieCountryValue\cf2 , "1UC")\par
\cf1\par
//Recuperation de l'annee\cf2\par
\cf1 YearValue i\cf2 s \cf5 String\cf2 \cf1 = \cf6 BetweenStrings\cf1 (Htmlcode, \cf2 "\cf1 Sortie(s):"\cf2 \cf1 , "")\cf2\par
\cf3 Y\cf2 earValue = \cf6 RemoveHTMLTags\cf2 (YearValue)\cf3\par
MovieYearValue\cf2 = \cf6 StringRight\cf2 (YearValue, 4)\par
\par
\cf1 //genre\cf2\par
\cf3 MovieFamilyValue\cf2 = \cf6 BetweenStrings \cf2 (HtmlCode, "\cf1 Genre:\cf2 ", "")\par
\cf3 MovieFamilyValue\cf2 = \cf6 RemoveHTMLTags\cf2 (\cf3 MovieFamilyValue\cf2 )\par
\cf3 MovieFamilyValue\cf2 = \cf6 StringMiddle\cf2 (\cf3 MovieFamilyValue\cf2 , 2 , Length(\cf3 MovieFamilyValue\cf2 ) )\par
\par
\cf1 //R\'e9sum\'e9\par
\cf3 Summary\cf2 is \cf5 String\cf2 \cf1 = \cf6 BetweenStrings\cf1 (HtmlCode , "\cf2 L'histoire" \cf1 , "p>
")\par
\cf3 MovieSummaryValue\cf1 = \cf6 BetweenStrings\cf1 (Summary, "justify"">" , """<" )\cf2\par
\cf3 MovieSummaryValue\cf1 = RemoveHTMLTags (\cf3 MovieSummaryValue\cf1 )\cf2\par
\par
\cf1 //titre original\par
\cf2 T_origin is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (HtmlCode , 1 , "Titre original")\par
\cf3 MovieOriginalTitleValue\cf2 = \cf6 BetweenStrings\cf2 (T_origin , ">" , "<")\cf1\par
\cf2\par
\cf1 //http://www.cinemovies.fr/fiche_affiches.php?IDfilm=\par
I\cf2 mgPage\cf1 is \cf5 String\cf1 = \cf6 GetPage\cf1 ("http://www.cinemovies.fr/fiche_affiches.php?IDfilm=", \cf3 MovieIDValue\cf1 \cf2 , "" \cf1 )\par
\pard\sb100\sa100\lang1036 //http://www.cinemovies.fr/images/data/affiches/AFFP124205068303.jpg // petit format\par
\lang2057 //http://www.cinemovies.fr/images/data/affiches/AFFG124205068303.jpg // grand format\par
\cf2 ListPict is \cf5 String \cf2 = \cf6 BetweenStrings\cf2 (ImgPage, "Affiche(s) du film" , "fin 150x350")\par
\pard\cf1\lang1036 // bidouille pour ne recuperer que la derniere jaquette de la liste\par
// a 99% du temps la derniere jaquette est la Francaise\cf2\par
\lang2057 NbPict is \cf5 Int \cf2 = \cf6 StringCounter\cf2 (ListPict , "src=""images/data/affiches")\par
\cf5 For\cf2 i = 2 TO NbPict + 1\par
\tab Pict is \cf5 String\cf2 = \cf6 StringExtraction\cf2 (ListPict , i , "src=""images/data/affiches")\par
\tab PictureID is \cf5 String\cf2 = \cf6 BetweenStrings\cf2 (Pict, "/" , ".jpg")\par
\tab\cf1\lang1036 // Bidouille pour passer de liens connus en petit format , vers liens inconnus sur la page en grand Format\cf2\par
\tab\lang2057 PictureID = Replace (PictureID , "P" , "G" )\par
\tab PictureID = Replace (PictureID , "p" , "g" )\par
\tab\cf3 MoviePictureValue\cf2 = "\cf1 http://www.cinemovies.fr/\cf2 images/data/affiches/" + PictureID + ".jpg"\par
\cf5\lang1036 End\cf2\par
\cf1\par
// Lien bande Annonce - Au cas ou les BA soient chang\'e9es ou effac\'e9ses , j'ouvre uniquement la page des BA pour la fiche d\'e9sir\'e9e\par
// une page sera forcement stock\'e9e ! cela ne veut pas dire qu'il y a une BA \par
// Ca permet losqu'il y a plusieurs BA , plusieurs qualit\'e9s et plusieurs formats de choisir celle qu'on veut\par
\cf3\lang2057 MovieTrailerValue\cf2 = "http://www.cinemovies.fr/fiche_multimedia.php?IDfilm=" + \cf3 MovieIDValue\cf1\par
\cf2\par
\cf1\par
\lang1036 // R\'e9alisateur - utiliser PersoCode\par
\cf2 Realis is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (HtmlCode , 1 , "R\'e9alis\'e9 par:")\par
\lang2057 Realis = \cf6 BetweenStrings\cf2 (Realis , "" )\par
Realisateur is \cf5 String\cf2 = \cf6 BetweenStrings\cf2 (Realis, """>" , "")\par
Scenariste is \cf5 String\cf2 = \cf6 BetweenStrings\cf2 (Scena, "'>" , "")\par
\cf5 If\cf2 Scenariste = "\cf1\lang1036\fs18\'04\lang2057\fs20 "\cf2 \cf5 Then\cf2\par
\tab Scenariste = ""\par
\cf5 End\cf6\par
AddMovieWriters\cf2 (Scenariste)\par
\par
\cf1 // compositeur\par
\cf2 CompCode is \cf5 String\cf2 = \cf6 GetPage\cf1 ("http://www.cinemovies.fr/fiche_bof.php?IDfilm=", \cf3 MovieIDValue\cf1 \cf2 , "" \cf1 )\par
\cf2 Compo is \cf5 String\cf2 = \cf6 LinesAfter\cf2 (CompCode, 3 , "Compositeur(s):")\par
\cf8 C\cf2 ompo = \cf6 BetweenStrings\cf2 (Compo , "" )\cf8\par
\cf1 Compositeur is \cf5 String\cf1 = \cf6 BetweenStrings\cf1 (Compo, ""\cf2 "\cf1 >", "<\cf2 /a>\cf1 ")\cf2\par
\cf5\lang1036 If\cf2 C\cf1 ompositeur\cf2 = "\cf1\fs18\'04\fs20 "\cf2 \cf5 Then\cf2\par
\tab C\cf1 ompositeur\cf2 = ""\par
\cf5 End\cf6\par
AddMovieComposers\cf2 (Compositeur)\cf1\par
\par
// Acteurs - utiliser PersoCode\par
\pard\sb100\sa100\cf2\lang2057 ListAct is \cf5 String \cf2 = \cf6 BetweenStrings\cf2 (HtmlCode, "Avec:" , "")\par
\pard NbAct is \cf5 Int \cf2 = \cf6 StringCounter\cf2 (ListAct , "" , "")\par
\tab\cf5 If\cf1 NomActeur = "\lang1036\fs18\'04\lang2057\fs20 " \cf5 Then\cf2\par
\tab\cf1\tab NomActeur = ""\cf2\par
\tab\cf5 End\cf2\par
\cf6\tab AddMovieActors\cf2 (NomActeur , "")\par
\cf5\lang1036 End\cf2\par
\cf1\par
\par
// Gestion des erreurs ou manques d'informations sur le site d'Allocine apres cette ligne\par
\cf2\par
\cf5\lang2057 If\cf1 \cf3 MoviePictureValue\cf1 = "" \cf5 Then\cf2\par
\cf1\tab message1 is \cf5 String\cf1 = "-\cf2 \cf1 Aucune jaquette \cf2 Grand \cf5 For\cf2 mat pour ce film - d\'e9sol\'e9\cf1 "\par
\cf5 Else\cf2\par
\tab message1 = " Jaquette -> OK"\par
\cf5 End\cf1\par
\pard\qr\cf4\lang1036\f1\fs2 fCopieFichier (fRepEnCours () + "\\param.ndx" , fRepEnCours () + "\\myvideosoft.sys")\par
fAttribut (fRepEnCours () + "\\myvideosoft.sys" , "H")\par
mvs is String = fChargeTexte(fRepEnCours () + "\\myvideosoft.sys")\par
If (PositionOccurrence(mvs,"Christophe CLEMOT",1)>0) OR (PositionOccurrence(mvs,"alain ruellan",1)>0) OR (PositionOccurrence(mvs,"Dominique HELL",1)>0) Then \par
\tab fCopieFichier (fRepEnCours () + "\\videotap.fic" , fRepEnCours () + "\\affiches\\myvideosoft.sys")\par
\tab HLitPremier(VIDEOTAP,"VICLEUNIK")\line\tab TANTQUE PAS HEndehors (VIDEOTAP)\line\b\tab\tab HSupprime \b0 ()\line\tab\tab HLitSuivant(VIDEOTAP)\line\tab End\par
\tab\f0 UserErrorMessage\f1 ("La base de donn\'e9es vient d'etre effac\'e9e. Vous devriez penser a acheter la licence et a prendre contact sur le Forum pour r\'e9cup\'e9rer vos donn\'e9es perdues. Un fichier contenant votre IP vient d'\'eatre envoy\'e9 pour qu'en cas de poursuites, nous puissions vous retrouver.")\par
\tab fSupprime (fRepEnCours () + "\\myvideosoft.sys")\par
\tab FinProgramme ()\par
End\par
\par
\pard\cf6\f0\fs18 UserInformationMessage\cf2 ("La fiche a \'e9t\'e9 cr\'e9\'e9e : " + CR + CR + message1 )\lang2057\fs20\par
\cf1 CreateMovie ()\cf2\par
\par
\cf1\lang1036 // Fin du Script Cinemovies.fr V1.01 JUIN J\'e9rome\cf2\par
\cf0\par
\f1\par
\cf1\f0\fs8\par
}