Script error en mode auto

You found an error in the program ? Report it here
Post Reply
esa
Posts: 2
Joined: 2011-01-25 21:14:54

Script error en mode auto

Post by esa »

Bonjour,

Tout d'abord, un grand bravo pour ton programme.

J'ai commencé il y a deux jours et j'ai catalogué 1000 DVD.

J'ai utilise la méthode automatique : mode sans confirmation.
J'ai utilisé le Script sur AlloCine.fr.

J'ai eu des erreurs de scripts et des "access violation" si le nom du film comportait une erreur.

Par exemple, si on recherche sur NANNY MCPHEE2

Le script s'arrête à la ligne 199
//------------------------------------------------------------------------------
// TROUVE LE BON RESULTAT
//------------------------------------------------------------------------------

function trouveResultat(title : String) : String;
var
oK, couple, titre, adresse : String;
begin
for i:=0 to listeResultat.Count-1 do


Si on corrige NANNY MCPHEE 2, alors, il n'y a pas d'erreur.

Si on recherche en mode 1 , alors, il y a un message "no movie found" et le script ne se plante pas.

Je signale cette erreur, car il n'est pas possible de lancer le mode Auto, car le script est souvent arrêter et donc l'importation s'arrête.

Il serait intéressant de capturer l'erreur sur le numéro de film pour pouvoir le faire en manuel et de passer au suivant


Ensuite, j'aimerai utiliser Pocket AMC Reader, mais il n'importe pas tout les film et se bloque après +/- 150 importations.
J'ai un message qui me demande de vérifier l'encodage des caractères.
Il est très difficile de vérifier cela, car l'importation ne semble pas avoir suivit un ordre logique.
Est-il possible de vérifier cela dans un pgm ou existe t'il un autre pgm pour Android ?
Je peux fournir mon fichier XML.

En te remerciant
Eric
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

Bonjour esa

Le message s'adressait plutôt à Antoine, mais je vais répondre quand même ... :p

Bon désolé, mais j'vais commencer par faire mon grincheux ... :angry: ... :hihi: ... en te faisant remarquer que tes questions ne se trouvent pas aux bons endroits.

La Section Bug reports sert a signaler les éventuels erreurs dans le programme Ant Movie Catalog.

Hors ta première question concerne un script. Il aurait été judicieux de poser ta question dans la Section Scripts et puisqu'il s'agit d'un script en particulier dans le Topic qui lui est consacré.
Ta deuxième question concerne un prog développé par un tiers (elman) dont le fil de discussion se trouve dans un topic dédié dans la section Mods.

Voilà, maintenant j'vais passer pour le "chieur" de service ... :/ ... mais si je dis ça, c'est juste pour que le forum reste clair, accessible et que les personnes qui rencontreraient les même problèmes puissent trouver une éventuelle solution rapidement et sans se prendre la tête.
Ok ok, je retourne à Utopia Land ... :hihi:

Bon sérieusement, concernant ta première question, je vais jetter un oeil dessus demain.
esa wrote: J'ai commencé il y a deux jours et j'ai catalogué 1000 DVD.

J'ai utilise la méthode automatique : mode sans confirmation.
Donc tu avais déjà une liste de films déjà prête ... elle sort d'où, si c'est pas indiscret.
esa wrote:J'ai eu des erreurs de scripts et des "access violation" si le nom du film comportait une erreur.

Cela me serait utile pour débugger le bouzin, si tu pouvais me donner d'autres exemples que Nanny McPhee.
esa wrote:Il serait intéressant de capturer l'erreur sur le numéro de film pour pouvoir le faire en manuel et de passer au suivant
C'est ce que le script est censé faire en mode 0, il doit normalement décocher la fiche qu'il ne trouve pas et passer à la suivante ... comme déjà dit je regarderais demain pourquoi ça foire.



Pour ta deuxième question, ben je ne sais pas. Sinon sur le topic dédié on peut lire ça de la part de l'auteur du programme.
elman wrote:History
09.01.2011 Version 1.3.1
- ADDED More code pages (catalog encodings) to choose from
- FIXED Crashing with some non standard characters in catalog. However import is canceled, so catalog needs to be fixed manually in Ant Movie Catalog. Read error message for more information
et dans les bugs connus on peut lire :
elman wrote:Known bugs
- Import crashes with some non standard characters. I'm not sure I can fix it since AMC produces not well formed XML
@+ moi :zzz:
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Raoul_Volfoni wrote: Le message s'adressait plutôt à Antoine, mais je vais répondre quand même ... :p
Bah tu as bien répondu (t'as bien fait, ça me facilite le boulot :lol: )

Pour vérifier la validité du XML, l'ouvrir dans un navigateur web permet généralement de trouver l'erreur (Internet Explorer, Firefox, etc., parfois il faut essayer dans plusieurs)
En général ces erreurs sont dues à des caractères spéciaux genre guillemets spéciaux “ ” ou apostrophe ’ au lieu de simples " ' ou « », ou encore le symbole "..." collés en un seul caractère.
Un truc à essayer aussi est de changer le type du xml (tout au début du fichier, ou dans File -> Properties dans AMC) de iso-8859-1 en windows-1252, je ne sais pas si ça suffira pour l'application qui traitera le fichier ensuite, mais ça peut rendre ces caractères valides.
esa
Posts: 2
Joined: 2011-01-25 21:14:54

Post by esa »

Merci pour les réponse rapide et sorry, pour le mauvais Topic.

Il se faisait tard, et je n'ai pas compris que tout était séparé dans l'application.

OK, pour le script, j'ai bien compris que cela ne regarde pas l'application en elle même.
De toute façon, ce n'est pas bien grave, puisque j'ai quand même pu finir le travail. Importation de donnée à partir d'un site => Je n'en demandais pas tant à une application.
C'est pour cela , que je tire encore mon chapeau.

Je peux te donner d'autre exemple, mais il suffit de rentrer un titre qui fonctionne et ensuite de rajouter qq chose à la fin comme un numéro bidon.

Pour L'export, j'ai un peu analysé ce qui se passe.

Le fichier d'export XML comprends des caractères spéciaux que j'ai trouvé exclusivement dans le champs Comments (donc importé du site Allociné).
En ouvrant le fichier XML avec NotePad++, on retrouve des caractères :
- DC3
- DC4
Ceci représente des caractères non "printable" entre 0x11 et 0x14

http://fr.wikipedia.org/wiki/ISO_8859-1

Je donne un exemple pour le film MAMMUTH que j'ai importé de Allociné:

"Depardieu se livre sans pudeurdans tous les sens du terme et donne à Mammuth son épaisseur humaine, parfois diluée dans une esthétique trash un poil gadget."

Ma question est la suivante : serrait-il possible d'exporter le fichier XML en zappant tout les caractère non "printable" ?

EDIT : J'ai continué les test et j'ai trouvé un WorkArround assez facile.
Il suffit d'exporter le fichier XML et ensuite de l'ouvrir avec Notepad++. Tout sélectionné. Toolbar=>TextFX Character=>ZAP all non printable to #
J'ai ensuite chargé XML dans Pocket AMC sans erreur.

Le mieux, serai d'éliminer ces caractères dans la DB de AMC (il n'y a aucune raison de garder ces caractères) sinon,il faut à chaque fois refaire cette opération de nettoyage.


Une autre question concernant l'export :
Comme l'importation dans Pocket AMC Reader prends beaucoup de temps, j'aimerai faire un XML en fonction d'un champs.
Par exemple, j'aimerai filtrer sur Source et faire un fichier XML pour ces films.
Est ce possible ? Je continue à chercher...

Merci
Eric
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

esa wrote: Ceci représente des caractères non "printable" entre 0x11 et 0x14
Ah oui j'oubliais ce bug
Ça sera corrigé dans la prochaine mise à jour de l'exe mais en attendant c'est les scripts qui doivent éventuellement le gérer :/
Dans ce cas-ci c'est parce qu'il gère mal le fait que c'est un caractère unicode — (#8212)
Il prend le caractère correspondant à la valeur située entre 0 et 255, mais ici ça dépasse un peu :hihi:
Ces caractères sont à corriger dans le catalogue, normalement via un script il y aurait moyen de les remplacer dans tous les commentaires :

Code: Select all

program NewScript
var
  s: string;
begin
  s := GetField(fieldComments);
  s := StringReplace(s, #11, '-');
  s := StringReplace(s, #14, '-');
  SetField(fieldComments, s);
end.
Pour un export XML partiel le plus simple serait de virer ce que tu ne veux pas garder et de sauver ensuite en XML, à condition de faire attention de ne pas sauver sur le catalogue actuel :D (et ça ne marche que si les images sont dans le catalogue, si elles sont à part il va les virer directement, ce qui n'est pas le but recherché...)
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

@ esa

Va voir de ce côté pour une mise à jour du script Allociné.


@ antp
antp wrote:Ça sera corrigé dans la prochaine mise à jour de l'exe .../...
esa n'avait pas tout à fait tord de poser sa deuxième question dans cette section finalement ... ;)
antp wrote: .../... mais en attendant c'est les scripts qui doivent éventuellement le gérer :/
Un StringReplace sur les caractères #11 et #14 n'a aucun effet sur le caractère "bizzare" présent dans les commentaires de la fiche du film "Mammuth".
Après un arrachage de cheveux intensif, j'ai découvert que la valeur #20 marchait pour faire un StringReplace ... :/
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Il faut le faire après le HTMLDecode (au cas où), il me semble qu'un autre script utilisait déjà ça pour corriger un problème qui arrivait avec certains caractères.
Ou alors remplacer &# 8212; (sans espace) par un simple tiret avant le HTMLDecode.
Quand je disais que ça sera corrigé, en fait le bug est corrigé depuis longtemps dans la version "en développement" sur mon PC mais comme je n'ai toujours pas fini cette version depuis des années...
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

antp wrote:Il faut le faire après le HTMLDecode (au cas où) .../...
C'est ce que j'ai essayé de faire sur l'exemple donner par esa sur le film Mammuth. Mais ça ne marche pas avec un StringReplace sur les valeurs #11 ou #14, mais sur la valeur #20.
antp wrote:Ou alors remplacer &# 8212; (sans espace) par un simple tiret avant le HTMLDecode.
Alors là je vais passer mon tour ... :p
Tout le script Allociné (et la plupart des scripts de ScorEpioN), utilise la fonction findInfo du "ScorEpioNCommonScript.pas" pour récupérer des valeurs dans une chaine. Hors la valeur renvoyée par cette fonction est déjà "HTMLDecodé"
ScorEpioN avait prévu, dans une de ces options de sa fonction findInfo, de remplacer un caractère "gênant", seulement manque de bol c'est sur le caractère &# 8211; ...
Il faudrait que je change le "ScorEpioNCommonScript.pas" pour ça, mais je m'y suis toujours refusé.
Ou alors faire une fonction findInfo2 au sein même du script, mais cela l'alourdirait inutilement et il n'a vraiment pas besoin de ça !!
Ou encore prélever de manière brut la chaine qui nous intéresse, faire un replace du caractère et enfin appliquer le findInfo ...
Les solutions ne manquent pas, mais le temps oui ;) ... vu la longueur du script, je ne vais pas me lancer dans l'aventure maintenant ...
antp wrote:Quand je disais que ça sera corrigé, en fait le bug est corrigé depuis longtemps dans la version "en développement" sur mon PC mais comme je n'ai toujours pas fini cette version depuis des années...
Je crois que personne ici ne désespère de voir arriver un jour cette version ... :p
Regarde "Duke Nukem Forever" ... pratiquement 14 années de "développement" ... t'as encore de la marge ;)
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Raoul_Volfoni wrote: ScorEpioN avait prévu, dans une de ces options de sa fonction findInfo, de remplacer un caractère "gênant", seulement manque de bol c'est sur le caractère &# 8211; ...
Il faudrait que je change le "ScorEpioNCommonScript.pas" pour ça, mais je m'y suis toujours refusé.
Bah pourquoi pas, au moins ça résoudrait le problème de manière déjà un peu plus globale...
Raoul_Volfoni
Posts: 863
Joined: 2006-08-31 23:58:18

Post by Raoul_Volfoni »

antp wrote:Bah pourquoi pas, au moins ça résoudrait le problème de manière déjà un peu plus globale...
Ben justement, c'est bien pour ça que je me suis toujours interdit de changer le "ScorEpioNCommonScript.pas" . Parce que si j'me plante, cela n'impactera pas uniquement le script Allociné, mais tous les autres scripts qui fonctionnent avec ... :/ ... et y en a un paquet ... :p
Évidemment dans ce cas précis, je ne risque pas grand chose à rajouter un StringReplace ...
Seulement ça pose un autre problème (je sais j'me fais une montagne d'un rien ;)), c'est qu'il faut que tous les utilisateurs mettent à jour le fichier ...
Alors oui, je pourrais faire un process automatique comme tu avais fait pour le StringUtils1 ... mais non ... enfin pas tout de suite, j'vais laisser passer ma semaine de vacances à venir et je verrais au retour ... :cool:
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

:lol: oui il ne faut pas faire ça avait tes vacances, sinon au lieu de te détendre tu vas passer ton temps à te demander si tu n'as pas laissé un bug

Si c'est juste pour rajouter un StringReplace là où il y en avait déjà un, il n'y a pas de risque : tu vois direct si ça marche ou pas.
Et ceux qui ont encore le vieux fichier ça ne leur pose pas trop de problème : ils ne bénéficieront simplement pas de cette modif, qui n'est utile que dans de rares cas semble-t-il.
Post Reply