[REL] [EN] [FR] Centralisation ScorEpioN [-SEN-]

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.

Vous trouvez ces scripts :

Excellents
87
97%
A améliorer
3
3%
Nuls
0
No votes
 
Total votes: 90

Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

[edit]
!! Attention !! Modif inutile car la page d'allociné à rechanger !! Prenez la portion de code "// ANALYSE DE LA PAGE CASTING" sur mon post suivant. Vous bénéficierez de la correction concernant l'apparition "sournoise" des mots "activités sociétés" dans le champ producteur avec le listing correct des acteurs.
[/edit]

Salut

Effectivement une partie de la production vient s'ajouter aux acteurs
et le champ producteur n'est plus renseigné.

Bref voici la modif pour que tout rentre dans l'ordre.
Par contre comme je ne sais pas si les gens ont corrigé au fur et à mesure, je vais donner un bloc entier à changer (même s'il n'y a que 2 lignes à changer)

Donc la partie à changer se nomme "ANALYSE DE LA PAGE CASTING" et elle se situe au alentour des lignes 1117 a 1121 selon modifs antérieur ou pas

Code: Select all

//------------------------------------------------------------------------------
// ANALYSE DE LA PAGE CASTING
//------------------------------------------------------------------------------

procedure castingComplet(pageCasting: string);
var
  Line, Role, Acteur, couple, liste, Producteur :string;
  BeginPos, EndPos, OtherPos : Integer;
begin
//pour eviter les time-out
  sleep(timetosleep);
  SetArrayLength(listeMessagesF,3);
  SetArrayLength(listeMessagesS,3);
  if pos('cfilm=', pageCasting) <> 0 then
  begin
      listeMessagesF[0] := 'Acteurs';
      listeMessagesF[1] := 'Producteurs';
      listeMessagesF[2] := 'h5>';
      listeMessagesS[0] := 'Acteurs';
      listeMessagesS[1] := 'Producteurs';
      listeMessagesS[2] := 'h5>';
  end else if pos('cserie=', pageCasting) <> 0 then
  begin
      listeMessagesF[0] := '<b>Acteurs';
      listeMessagesF[1] := '<h4 style=';
      listeMessagesF[2] := 'h4>';
      listeMessagesS[0] := '<b>Acteurs';
      listeMessagesS[1] := '<h4 style=';
      listeMessagesS[2] := 'h4>';
  end;

//charge la page
  Line := GetPage(pageCasting);
  if CanSetField(fieldActors) then
  begin
    if Pos(retourneElement(0), Line) > 0 then
    begin
//liste des acteurs
      BeginPos := Pos(retourneElement(0), Line);
      Delete(Line, 1, BeginPos);
      BeginPos := Pos('<h5>', Line);
      liste := '';
      repeat
        BeginPos := Pos('<h5>', Line);
        delete(Line,1,BeginPos-1);
        Role := '';
        Acteur := '';
// le role
        Role := formatTitre(findInfo('<h5>', '</h5>', Line,'0'),GetOption('Format du Titre'));
// le nom de l'acteur
        Acteur := formatTitre(findInfo('class="link1">', '</'+retourneElement(2), Line,'0'),GetOption('Format du Titre'));
        Acteur := StringReplace(Acteur, ')','');
// couple acteur (rôle)
        if (Role <> '') and (GetOption('Acteurs') =2) then
          couple := Acteur +' ('+Role+'), '
        else
          couple := Acteur +', ';
// ajout du couple dans la liste
         liste := liste + couple;
         delete(Line, 1, length('<h5>'));
         if (Acteur <> '') then
            delete(Line, 1, pos('<'+retourneElement(2), Line));
         BeginPos := pos('<h5>', Line);
         OtherPos := pos(retourneElement(1), Line);
      until (BeginPos > OtherPos);
      EndPos := length(liste);
      liste := copy(liste,1,EndPos-2)+'.';
      MonSetField(fieldActors, liste);
    end;
  end;
// le producteur
  if CanSetField(fieldProducer) and (pos('casting_gen_cserie',pageCasting) = 0) then
  begin
    if (Pos('<h5>Product', Line) <> 0) then
    begin
      delete(Line,1,Pos('<h5>Product', Line)-1);
      Producteur := findInfo('class="link1">', '"padding:5 2 0 0"', Line,'0');
      Producteur := StringReplace(Producteur, '		', ', ');
      Producteur := deleteTab(Producteur);
      Producteur := StringReplace(Producteur, 'Activités sociétés', '');
      MonSetField(fieldProducer, formatTitre(Producteur,GetOption('Format du Titre')));
    end;                     
  end;  
end;
J'ai d'ailleurs rechangé la fameuse ligne qui faisait apparaître de temps en temps "Activités sociétés" dans le champ producteur mon ancienne modif n'étant pas efficace sur toutes les pages.
Pour l'instant ça à l'air de marcher, mais si quelqu'un trouve quelque chose de plus efficace qu'un StingReplace ...

A titre d'infos les lignes modifiées sont celles ci
listeMessagesF[1] := 'Producteurs';
listeMessagesS[1] := 'Producteurs';
J'ai remplacé l'ancienne valeur 'Production' par 'Producteurs'
Last edited by Raoul_Volfoni on 2006-10-16 13:08:51, edited 1 time in total.
LeMoi
Posts: 171
Joined: 2006-04-09 11:26:43

Post by LeMoi »

Merci bcp ça a l'air de fonctionner :)
Alpha
Posts: 1
Joined: 2006-10-15 08:47:40

Post by Alpha »

Bonjour a tous!

J'utilise la la derniere version d'Ant Movie Catalog (la 3.5.0.2) que je trouve super et tres facile a utiliser, mais j'ai un probleme avec le script Allociné (version 52). En fait, tout fonctionnait bien jusqu'a ce mercredi.

Maintenant, je n'obtiens plus le detail des notes dans les commentaires, que ce soit celles des critiques ou des spectateurs.

Aussi, pour les secrets de tournage, j'en obtiens au maximum que 3 alors que sur Allociné, ils sont bien plus nombreux et font plus d'une page.

J'ai les options suivants:
Secrets de tournage = 2
Note = 0
Detail Note = 1
Critique Presse = 0
Critique Spectateurs = 0
Bande Annonce = 2
Disposition = 1

Merci pour toute aide !
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

Salut à tous

Salut Alpha

J'ai constaté la même chose pour les notes et pour les secrets de tournages.

Et de plus ma modif précédente (sur la page casting) ne marche plus car Allociné à de nouveau changer son fusil d'épaule pour revenir à l'ancienne version. :cry:

Bon prenons les choses dans l'ordre.
Pour ceux qui avaient modifié la page casting ... marche arrière toute !! :D
On revient comme on était en conservant quand même la modif concernant "activités sociétés" qui elle marche toujours (pour l'instant)

Donc la partie à changer se nomme toujours "ANALYSE DE LA PAGE CASTING" et elle se situe toujours au alentour des lignes 1117 a 1121 selon modifs antérieur ou pas.

Code: Select all

//------------------------------------------------------------------------------
// ANALYSE DE LA PAGE CASTING
//------------------------------------------------------------------------------

procedure castingComplet(pageCasting: string);
var
  Line, Role, Acteur, couple, liste, Producteur :string;
  BeginPos, EndPos, OtherPos : Integer;
begin
//pour eviter les time-out
  sleep(timetosleep);
  SetArrayLength(listeMessagesF,3);
  SetArrayLength(listeMessagesS,3);
  if pos('cfilm=', pageCasting) <> 0 then
  begin
      listeMessagesF[0] := 'Acteurs';
      listeMessagesF[1] := 'Production';
      listeMessagesF[2] := 'h5>';
      listeMessagesS[0] := 'Acteurs';
      listeMessagesS[1] := 'Production';
      listeMessagesS[2] := 'h5>';
  end else if pos('cserie=', pageCasting) <> 0 then
  begin
      listeMessagesF[0] := '<b>Acteurs';
      listeMessagesF[1] := '<h4 style=';
      listeMessagesF[2] := 'h4>';
      listeMessagesS[0] := '<b>Acteurs';
      listeMessagesS[1] := '<h4 style=';
      listeMessagesS[2] := 'h4>';
  end;

//charge la page
  Line := GetPage(pageCasting);
  if CanSetField(fieldActors) then
  begin
    if Pos(retourneElement(0), Line) > 0 then
    begin
//liste des acteurs
      BeginPos := Pos(retourneElement(0), Line);
      Delete(Line, 1, BeginPos);
      BeginPos := Pos('<h5>', Line);
      liste := '';
      repeat
        BeginPos := Pos('<h5>', Line);
        delete(Line,1,BeginPos-1);
        Role := '';
        Acteur := '';
// le role
        Role := formatTitre(findInfo('<h5>', '</h5>', Line,'0'),GetOption('Format du Titre'));
// le nom de l'acteur
        Acteur := formatTitre(findInfo('class="link1">', '</'+retourneElement(2), Line,'0'),GetOption('Format du Titre'));
        Acteur := StringReplace(Acteur, ')','');
// couple acteur (rôle)
        if (Role <> '') and (GetOption('Acteurs') =2) then
          couple := Acteur +' ('+Role+'), '
        else
          couple := Acteur +', ';
// ajout du couple dans la liste
         liste := liste + couple;
         delete(Line, 1, length('<h5>'));
         if (Acteur <> '') then
            delete(Line, 1, pos('<'+retourneElement(2), Line));
         BeginPos := pos('<h5>', Line);
         OtherPos := pos(retourneElement(1), Line);
      until (BeginPos > OtherPos);
      EndPos := length(liste);
      liste := copy(liste,1,EndPos-2)+'.';
      MonSetField(fieldActors, liste);
    end;
  end;
// le producteur
  if CanSetField(fieldProducer) and (pos('casting_gen_cserie',pageCasting) = 0) then
  begin
    if (Pos('<h5>Product', Line) <> 0) then
    begin
      delete(Line,1,Pos('<h5>Product', Line)-1);
      Producteur := findInfo('class="link1">', '"padding:5 2 0 0"', Line,'0');
      Producteur := StringReplace(Producteur, '		', ', ');
      Producteur := deleteTab(Producteur);
      Producteur := StringReplace(Producteur, 'Activités sociétés', '');
      MonSetField(fieldProducer, formatTitre(Producteur,GetOption('Format du Titre')));
    end;                     
  end;  
end;

Ca c'est fait !! :hihi:
Maintenant concernant la notation.
Les notes dont se servaient ScorEpioN pour faire ses calculs apparaissent maintenant dans un cadre à part !! :/
Mes compétences actuelles ne me permettant pas d'écrire du code pour faire de la recherche sur un cadre, j'ai rusé et j'ai utilisé la valeur de l'adresse qui pointe vers ce cadre. Car dans l'adresse il y a la valeur des notes critiques et spectateurs. J'ai donc juste réécri le début de la portion de code concernant la notation pour les films, la partie notation des séries fonctionnant toujours. (Je pense qu'on pourrait d'ailleurs utiliser la partie de code de notation des séries pour les films)

Bref ça marche mais j'aimerais l'avis d'un expert la dessus (ScorEpioN, Antp, Sagitaz, Draco31.fr ou quelqu'un d'autre a vot' bon coeur m'sieur dame !! :) )

Donc la partie à changer se nomme "// Rating" et elle se situe au alentour de la ligne 366.

[edit=17/10/06]
J'ai rechangé le code ... cette version est bonne
Pas la peine de le rechanger à partir de mon post suivant car c'est exactement le même
[\edit]

[edit=25/10/06]
correction mineur concernant l'apparition de notes public égales à 0
[/edit]

[edit=03/11/06]
- correction d'un bug lorsqu'il n'y a aucunes notes à récupérer
- correction d'un bug de l'apparition d'une date après la note presse lorsqu'il n'y a pas de notes spectateurs à récupérer et que le choix date est 1
Merci à Anton35 pour le béta test
[/edit]

Code: Select all

// Rating
    aucun := Line;
    Value2 := '';
    if (pos('notesrecos&', Line) <> 0) then
    begin
      Note1 := '';
      Note2 := '';
      if pos('&notepresse=&', Line) <> 0 then
      Avertissement := Avertissement
      else begin
        Note1 := findInfo('&notepresse=', '&', Line,'0');
        Note1 := FloatToStr(Round(StrToFloat(StringReplace(Note1, ',', '.')))); // arrondi à la valeur supérieure sans décimale
        if GetOption('Detail Note') = 1 then
          Avertissement := Avertissement + 'Note de la presse : ' + Note1 + '/4 ';
      end;
      if pos('&notepublic="', Line) <> 0 then
      Avertissement := Avertissement
      else begin
        Note2 := findInfo('&notepublic=', '"', Line,'0');
        Note2 := FloatToStr(Round(StrToFloat(StringReplace(Note2, ',', '.')))); // arrondi à la valeur supérieure sans décimale
        if GetOption('Detail Note') = 1  then
          Avertissement := Avertissement + 'Note des spectateurs : ' + Note2 + '/4';
      end;
      if CanSetField(fieldComments) and (GetOption('Detail Note') = 1)  then // Détail des notes dans les commentaires
      begin
        Line := aucun;
        if pos('Note moyenne :', Line) > 0 then // Détail et nombre de votes des spectateurs
        begin
          Delete(Line, 1, pos('Note moyenne :', Line)+length('Note moyenne :'));
          Line := copy(Line,1,pos('</table>', Line)-1);
          Value := findInfo('pour', 'critiques', Line,'0');
          Value2 := ' ('+Value+' critiques : ';
          if pos('note=4.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'4') +' ****, ';
          if pos('note=3.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'3') +' ***, ';
          if pos('note=2.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'2') +' **, ';
          if pos('note=1.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'1') +' *, ';
          if pos('note=0.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'0') +' °';
          Value2 := Value2 + ')';
          Value2 := StringReplace(Value2, ',	)', ')');
        end;
        Avertissement := Avertissement+Value2 + #13#10#13#10;
        SetField(fieldComments, Avertissement);
      end;
      if CanSetField(fieldRating) then // Notes dans le champs note
    begin
        if GetOption('Note') = 1 then
      begin
          if Note2 <> '' then
            SetField(fieldRating,calculMoyenne(Note2,4))
          else if  Note1 <> '' then
            SetField(fieldRating,calculMoyenne(Note1,4));
        end else
        if GetOption('Note') = 2 then
        begin
          if Note1 <> '' then
            SetField(fieldRating,calculMoyenne(Note1,4))
          else if Note2 <> '' then
            SetField(fieldRating,calculMoyenne(Note2,4));
        end else
        if GetOption('Note') = 0 then
        begin
          if (Note1 <> '') and (Note2 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note1,2)+StrToInt(Note2,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end else
          if (Note1 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note1,2)+StrToInt(Note1,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end else
          if (Note2 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note2,2)+StrToInt(Note2,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end;
        end;
      end;
    end;
    Line := aucun;
Concernant les secrets de tournages le script ne renvoi plus que le premier secret de chaque page d'allociné car les tags des pages ont changé. Du coup, c'est sûr il manque pleins de secrets :p

Pour avoir tous les secrets il faut changer la partie qui se nomme "// ANALYSE DE LA PAGE SECRETS DE TOURNAGE" et qui se situe au alentour de la ligne 1204 selon modifs antérieur ou pas.

Code: Select all

//------------------------------------------------------------------------------
// ANALYSE DE LA PAGE SECRETS DE TOURNAGE
//------------------------------------------------------------------------------

procedure secretComplet(pageSecret: string);
var
  Line, LineSuivant, Titre, Texte, couple, pageSuivante :string;
  BeginPos, EndPos : Integer;
begin
//pour eviter les time-out
  sleep(timetosleep);
//charge la page
  Line := GetPage(pageSecret);
  LineSuivant := Line;
  numPage := numPage + 1;
  if Pos('Secrets de tournage</h2>', Line) > 0 then
  begin
//liste des secrets
  BeginPos := Pos('Secrets de tournage</h2>', Line);
  Delete(Line, 1, BeginPos);
  BeginPos := Pos('<td colspan="3" valign="top">', Line);
  repeat
     BeginPos := pos('<td colspan="3" valign="top">', Line);
     delete(Line, 1, BeginPos-1);
     // titre
     Titre := findInfo('<td colspan="3" valign="top">', '</b></h4></td>', Line,'0');
     Titre := formatTitre(Titre,GetOption('Casse Choisie'))+#13#10;
     // secret
     Texte := findInfo('<div align="justify"><h4>', '</h4></div></td>', Line,'0')+#13#10#13#10;
     // couple
     couple := Titre+Texte;
     La_liste := La_liste+couple;
     delete(Line, 1, length('<td colspan="3" valign="top">'));
     BeginPos := pos('<td colspan="3" valign="top">', Line);
  until (BeginPos = 0);
  SetField(fieldComments, La_liste);
// si on a plusieurs pages
  pageSuivante := pageSecret;
  delete(pageSuivante,1,pos('.fr', pageSuivante)+2);
  pageSuivante := copy(pageSuivante, 1, pos('.html', pageSuivante)-1);
  if pos('page',pageSuivante) = 0 then
  begin
    pageSuivante := pageSuivante+'&page='+IntToStr(numPage)+'.html';
  end else
  begin
    pageSuivante := copy(pageSuivante, 1, pos('&page=', pageSuivante)-1)+'&page='+IntToStr(numPage)+'.html';
  end;
  BeginPos := pos(pageSuivante,LineSuivant);
  if BeginPos <> 0 then
  begin
    pageSuivante := urlAllocine+pageSuivante;
    secretComplet(pageSuivante);
  end;
  end;
end;
Voilà, en espérant qu'Allociné ne rechange pas d'ici quelques jours !! ;)
Last edited by Raoul_Volfoni on 2006-12-03 15:12:28, edited 9 times in total.
LeMoi
Posts: 171
Joined: 2006-04-09 11:26:43

Post by LeMoi »

A priori ça marche très bien, merci ^^
Anton35
Posts: 46
Joined: 2005-11-03 16:30:47

Post by Anton35 »

yes ca fonctionne! :)

par contre les moyennes sont différentes de celles d'allociné!
par exemple losqu'une moyenne est de "2,9" le script note "2" alors qu'allociné note "3"!

par la même occasion, est-il possible de rendre ces notes plus précises??? :p
car ca taille large quand même... 2 ne veux pas dire grand chose....
par exemple 3 solutions:
- prendre la moyenne exacte de la presse et la remettre sur 10
- prendre la moyenne exacte des spectateurs et la remettre sur 10
- prendre la moyenne exacte de la presse + des spectateurs et la remettre sur 10.

j'en demande peut-être beaucoup et tout le monde n'y voit sans doute pas l'intérêt, mais c'est juste une proposition... :ha:
merci et @+
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

Salut à tous

@ Lemoi
Lemoi wrote:A priori ça marche très bien, merci ^^
Pas de quoi :)


@ Anton35
Anton 35 wrote:par contre les moyennes sont différentes de celles d'allociné!
par exemple losqu'une moyenne est de "2,9" le script note "2" alors qu'allociné note "3"!
:??: Les moyennes du script ne peuvent pas être différentes puisque le script reprend exactement la valeur de la moyenne d'allociné !!
Exemple : Lorsque qu'un film obtient une moyenne de 3 étoiles (sur 4) de la part des spectateurs sur le site d'allociné, le script reprend la valeur 3. Point barre. Ou alors je n'ai pas compris ta remarque. Si tu peux donner un exemple précis qui ne fonctionne pas.
Anton 35 wrote:par la même occasion, est-il possible de rendre ces notes plus précises??? :p tongue
car ca taille large quand même... 2 ne veux pas dire grand chose....
par exemple 3 solutions:
- prendre la moyenne exacte de la presse et la remettre sur 10
- prendre la moyenne exacte des spectateurs et la remettre sur 10
- prendre la moyenne exacte de la presse + des spectateurs et la remettre sur 10.
C'est déjà fait. C'est la partie option "Note" du script qui te permet de choisir d'afficher soit
- La moyenne de la presse (option 2), soit
- La moyenne des spectateurs ( option 1), soit
- La moyenne de la presse+spectateurs (option 0)
dans le champ "Note" d'AMC et le tout sur 10.

Par contre j'ai du mal à cerner ce que tu entends par moyenne exact.
Si tu veux dire par là, reprendre toutes les notes du site et refaire le calcul de la moyenne pour chaque catégories (presse et spectateurs). Je crois que ce serait possible pour les spectateurs puisqu'on à le décompte total du nombre de critiques, mais ce n'est pas le cas pour la presse. Et puis franchement dans le champ "Note" D'AMC, perso j'y met ma note et pas celle des autres ;)
Enfin bon content de voir que les modifs marchent chez toi également @+
Anton35
Posts: 46
Joined: 2005-11-03 16:30:47

Post by Anton35 »

merci de tes réponses! :)
mais je vais préciser mes requêtes:

- Concernant le premier point, j'ai probablement mal interpréter le problème; pour le film "Pirates des Caraïbes, le secret du coffre maudit" sur allocine j'ai 3/4 pour la presse et spectateurs et AMC met 2/4 pour les deux -> c'est le problème que j'ai observé :??:


- Concernant le deuxième point, ce que j'entend par note exacte, c'est transformer 2,9/4 en 7/10 au lieu de 5/10 car arrondi à 2/4 auparavant... j'ai été clair là?? :hum: je suis pas sur...
en fait comme tu le disais: reprendre le détail de la note spectateurs pour la remettre sur 10.
moi, perso, ca m'intéresse car je ne peux pas donner de note avant d'avoir vu un film et ca m'intéresse pour en sélectionner un... ;)
de plus mon avis sur les films reste subjectif et je ne suis pas seul a regarder les films de cette base... :p

Voilà, en espérant avoir été plus clair

merci encore pour ta réactivité.
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

J'ai regardé pour "Pirates des Caraïbes, le secret du coffre maudit" et effectivement il y a 3 étoiles sur le site alors que le script n'en ramène que 2.
Mais ce n'est pas la faute du script. c'est la mienne !! :( :naughty:

Comme je l'ai dis plus haut j'ai contourner le problème de la récupération des notes en prenant comme valeur celles qui étaient affichées dans le lien vers le cadre de notation. Et il se trouve que je n'ai pas tenu compte des valeurs après la virgule !! (je n'ai tout bonnement pas fait le rapprochement :hum: ... pôv garçon !!)
La valeur du lien est celle ci pour le film qui nous intéresse
/monallocine/recommandations/iframefiche.html?typeliste=films&ref=57138&iframename=notesrecos&notepresse=2,55&notepublic=2,919068

On distingue clairement les notes !!
notepresse=2,55
notepublic=2,919068

Bref tu as soulevé un lièvre !! :D

Si un programmeur confirmé en delphi passe dans le coin et connait le nom de l'instruction qui permet de déterminer le nombre de chiffre à afficher après la virgule à une valeur ... je suis preneur :p

Bon je réfléchis avec mon neurone et je reviens au plus vite
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

1 chiffre après la virgule :
val := Trunc(val * 10 ) div 10;
pour autant que Trunc existe dans les scripts (vu qu'il n'y a pas tout ce qui existe en Delphi...) et que val soit un nombre flottant.
Si c'est une chaîne, il faut chercher la position de "," ou "." et supprimer ce qui est 2 caractères plus loin.
acteo
Posts: 12
Joined: 2005-10-12 21:52:32

Post by acteo »

Bonjour,

Depuis quelques jours, le script Allocine ne fonctionne plus. J'ai bien lu et fait les modifs évoquées ci-dessus mais ça n'a rien changé.
Il se lance bien, trouve une liste de films à me proposer, j'en choisi un et il commence à télécharger. Mais jamais je ne vois apparaître la fenêtre des infos telechargées. :cry: Je suis obligé de cliquer sur le bouton "stop" de la fenêtre des scripts pour l'arrêter.
J'ai vérifié, la version est la même que celle ici (avant modif) : http://www.antp.be/temp/scripts/.
Un peu d'aide serait la bienvenue...merci.

PS : j'ai bien vu qu'Allocine change souvent ses pages ces temps-ci, alors je surveillait le forum depuis quelques jours en "espérant" que quelqu'un aurait le même problème que moi. Mais non ! :??:
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

@ antp

Merci pour l'info ... mais je ne m'en sort pas :(
Pas plus qu'avec la fonction "Round" qui aurait pourtant été bien sympa.

Et apparemment la function "CurrToStrF" n'est pas comprise.
Bref je vais continuer à creuser la question ... et si il y en a qui veulent amener leurs pelles, ils sont les bienvenus !! ;)

@ Acteo
Salut

Essaye de retélécharger le script d'origine (la version 52 du 17/07/06)
Et de l'utiliser à la place de celui que tu as modifié.
Si il marche ... c'est que tu as fais des erreurs en modifiant le script.
Sinon ... euh on verra à ce moment là @+
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

Laissez tomber les pelles j'ai trouvé !! :hihi:

Il faut de nouveau changer la partie qui se nomme "// Rating" et qui se situe au alentour de la ligne 366.

[edit=25/10/06]
correction mineur concernant l'apparition de notes égales à 0
[/edit]

[edit=03/11/06]
- correction d'un bug lorsqu'il n'y a aucunes notes à récupérer
- correction d'un bug de l'apparition d'une date après la note presse lorsqu'il n'y a pas de notes spectateurs à récupérer et que le choix date est 1
Merci à Anton35 pour le béta test
[/edit]

Code: Select all

// Rating
    aucun := Line;
    Value2 := '';
    if (pos('notesrecos&', Line) <> 0) then
    begin
      Note1 := '';
      Note2 := '';
      if pos('&notepresse=&', Line) <> 0 then
      Avertissement := Avertissement
      else begin
        Note1 := findInfo('&notepresse=', '&', Line,'0');
        Note1 := FloatToStr(Round(StrToFloat(StringReplace(Note1, ',', '.')))); // arrondi à la valeur supérieure sans décimale
        if GetOption('Detail Note') = 1 then
          Avertissement := Avertissement + 'Note de la presse : ' + Note1 + '/4 ';
      end;
      if pos('&notepublic="', Line) <> 0 then
      Avertissement := Avertissement
      else begin
        Note2 := findInfo('&notepublic=', '"', Line,'0');
        Note2 := FloatToStr(Round(StrToFloat(StringReplace(Note2, ',', '.')))); // arrondi à la valeur supérieure sans décimale
        if GetOption('Detail Note') = 1  then
          Avertissement := Avertissement + 'Note des spectateurs : ' + Note2 + '/4';
      end;
      if CanSetField(fieldComments) and (GetOption('Detail Note') = 1)  then // Détail des notes dans les commentaires
      begin
        Line := aucun;
        if pos('Note moyenne :', Line) > 0 then // Détail et nombre de votes des spectateurs
        begin
          Delete(Line, 1, pos('Note moyenne :', Line)+length('Note moyenne :'));
          Line := copy(Line,1,pos('</table>', Line)-1);
          Value := findInfo('pour', 'critiques', Line,'0');
          Value2 := ' ('+Value+' critiques : ';
          if pos('note=4.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'4') +' ****, ';
          if pos('note=3.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'3') +' ***, ';
          if pos('note=2.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'2') +' **, ';
          if pos('note=1.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'1') +' *, ';
          if pos('note=0.html', Line) > 0 then
            Value2 := Value2 + nbCritiques(Line,'0') +' °';
          Value2 := Value2 + ')';
          Value2 := StringReplace(Value2, ',	)', ')');
        end;
        Avertissement := Avertissement+Value2 + #13#10#13#10;
        SetField(fieldComments, Avertissement);
      end;
      if CanSetField(fieldRating) then // Notes dans le champs note
    begin
        if GetOption('Note') = 1 then
      begin
          if Note2 <> '' then
            SetField(fieldRating,calculMoyenne(Note2,4))
          else if  Note1 <> '' then
            SetField(fieldRating,calculMoyenne(Note1,4));
        end else
        if GetOption('Note') = 2 then
        begin
          if Note1 <> '' then
            SetField(fieldRating,calculMoyenne(Note1,4))
          else if Note2 <> '' then
            SetField(fieldRating,calculMoyenne(Note2,4));
        end else
        if GetOption('Note') = 0 then
        begin
          if (Note1 <> '') and (Note2 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note1,2)+StrToInt(Note2,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end else
          if (Note1 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note1,2)+StrToInt(Note1,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end else
          if (Note2 <> '') then
            begin
            Note1 := IntToStr(StrToInt(Note2,2)+StrToInt(Note2,2));
            SetField(fieldRating,calculMoyenne(Note1,8));
            end;
        end;
      end;
    end;
    Line := aucun;
Voilà j'éspère que cette fois ci c'est la bonne !!

@ Anton 35
En tous cas sur "Pirates des Caraïbes, le secret du coffre maudit" ça marche ;)
Merci de m'avoir signalé cette bourde. Comme quoi les béta testeurs c'est bien utile. :)

@ antp
Finalement la fonction "Round" marche très bien. Je me suis juste pris la tête à cause de la transformation String -- vers --> Float car la valeur de la chaine retournée etait du genre "2,55" mais pour faire la conversion en virgule flottante il faut que la valeur soit "2.55" ... tout ça à cause d'une virgule au lieu d'un point !! ah la la ... la synthaxe.

A titre d'info la fonction "Trunc" marche aussi mais elle arrondi à la valeur inférieure. Ce qui n'était pas bon dans notre cas ... mais merci pour l'info si rapide @+
Last edited by Raoul_Volfoni on 2006-12-03 15:13:11, edited 6 times in total.
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Tiens c'est étonnant qu'il prenne d'office un "." et pas le caractère défini dans Windows (une virgule chez moi). Il faudra que j'aille voir comment cela se fait...

Donc
ShowMessage(FloatToStr(StrToFloat('5.4')));
M'affiche "5,4" :D

Je pourrais aussi faire en sorte qu'il accepte indifféremment les virgules et les points, ça peut servir.
acteo
Posts: 12
Joined: 2005-10-12 21:52:32

Post by acteo »

Raoul_Volfoni wrote:
Essaye de retélécharger le script d'origine (la version 52 du 17/07/06)
Et de l'utiliser à la place de celui que tu as modifié.
Si il marche ... c'est que tu as fais des erreurs en modifiant le script.
Sinon ... euh on verra à ce moment là @+
Ca fonctionne ! Désolé pour le dérangement, je ne devais pas être réveillé !
Merci pour votre boulot au passage .
dku
Posts: 6
Joined: 2006-09-25 21:12:12

Allocine - image

Post by dku »

Salut à tous,

A vous lire vous arrivez à vous en sortir avec ces scripts :-)
J'y ai jeté un oeil, mais je me perds rapidement.

Depuis quelques temps, je n'obtiens plus l'image depuis allocine, y a-t-il une correction ?

Le script disponible sur le site n'est pas remis à jour lors de vos modifs ? Il faut y faire chaque fois à la main ?

Merci pour tout votre travail
A+
Didier
moonlight666
Posts: 9
Joined: 2006-10-13 21:03:45

Post by moonlight666 »

Salut !!
Y a t il un probleme avec TOUS les scripts amazon actuellement ?? que ce soit le .fr, .de ou .com cela ne fonctionne pas .
Idem pour alapage.
Serait-ce compliqué de corriger ca ?? Ils ont changé leur méthode ou quoi ??
draco31.fr
Posts: 191
Joined: 2005-08-11 19:27:15
Location: Toulouse (31), France

Re: Allocine - image

Post by draco31.fr »

dku wrote:Le script disponible sur le site n'est pas remis à jour lors de vos modifs ? Il faut y faire chaque fois à la main ?
L'auteur des scripts est scorepion, donc tant que scorepion n'aura pas mis à jour ses scripts officiellement, ils ne seront pas disponible au téléchargement.

Cependant, certaines personnes comme Raoul Volfoni, ont déjà commencé à corriger le script et nous donne les paragraphes à modifier dans ses posts.
Pour cela, il faut ouvre la fênetre de sélection des scripts, selectionner le script en question et cliquer sur le bouton "Editeur". Ensuite il faut trouver les ligner à remplacer par les bout de codes donnés par Raoul Volfoni et les autres.

Personnellement, je pense qu'il serait préférable de poster tout le script modifié étant donné le nombre de modification puis de retour en arrière qu'il y a eu : cela devient confus ! Mais Allociné semble également continuer à faire des modification sur son site, donc d'autre version du script risquent de voir le jour !

@ Moonlight666
Je regarderai ça ... si j'ai un peu de temps !
Sinon, peux-tu nous en dire plus sur le problème ?
As-tu une erreur lors de leur execution ? Y-a-t-il seulement quelques champs qui ne sont pas remplis ?
Si AMC te signale une erreur, merci de nous renseigner sur le type d'erreur, et la ligne où il y a l'erreur si possible !
(ça permet d'aller plus vite dans la correction)

PS: As-tu fait le test avec un autre ordinateur, ou une installation 'propre' d'AMC pour être sûr que cela ne vient pas de chez toi ?

PPS: Ce topic ne concerne que les scripts de SorEpioN, donc je ne pense pas qu'il modiefiera les .de et .com d'amazon, de même pour Alapage !
ScorEpioN
Posts: 264
Joined: 2004-08-17 11:02:02

Post by ScorEpioN »

Bonjour,

je pense que beaucoup de sites vont changer en prévision des fêtes de fin d'année...

Merci pour les mises à jour de code, je tacherai de compiler le tout dans pas trop longtemps, mais je suis surchargé de travail.
Anton35
Posts: 46
Joined: 2005-11-03 16:30:47

Post by Anton35 »

Raoul_Volfoni wrote:@ Anton 35
En tous cas sur "Pirates des Caraïbes, le secret du coffre maudit" ça marche ;)
Merci de m'avoir signalé cette bourde. Comme quoi les béta testeurs c'est bien utile. :)
yes! merci ca marche "presque comme avant"! je dis presque car lorsque qu'il n'y a pas de note de spectateurs, un "0" est mis par défaut... enfin juste pour chipoter ;)

sinon quelqu'un à regardé pour récupérer les notes du cadre de droite et les utiliser pour les scripts???? :ha:
exemple sur le lien suivant: http://www.allocine.fr/monallocine/reco ... c=3,223114
Post Reply