Aller au contenu
Forums Tennis-Classim
bhamp0

Outil de récupération du classement futur

Recommended Posts

J'ai Python 2.6 et je suis sur Windows 7 Pro.

Je vais essayer de mettre Python 2.7, tester et je te dis si ça fonctionne.

Edit: Bon, j'avais pu mettre la 2.6 sur mon poste au taf mais ça ne passe pas pour la 2.7 donc je ne vais pas pouvoir tester. Je testerai chez moi mais ça sera sur Mac.

Modifié par Romain.01

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci :)

Il y avait un cas particulier à gérer que je n'avais pas eu avec mon profil. C'est réglé dans une pull request que j'ai soumise à K-Mille.

Si tu veux tester tout de suite tu peux utiliser cette archive : https://github.com/NicolasP/classement/archive/work.zip

Ton lien ne fonctionne pas :P

 

Edit : j'ai utilisé le lien en 1ère page et ça fonctionne.

Le programme se lance bien désormais mais j'ai une erreur sur un joueur je pense, ça me ressort ça

 

0  victoire(s) en championnat individuel
 ==> Classement de sortie :  40  - Harmonisé :  40  -  classement d'origine :  NC
Traceback (most recent call last):
  File "C:\Python26\palmares.py", line 412, in <module>
    main()
  File "C:\Python26\palmares.py", line 403, in main
    recupClassement( login, password, licence, profondeur )
  File "C:\Python26\palmares.py", line 344, in recupClassement
    new_cl, harm, s = classementJoueur( op, id, nom, cl, sexe, profondeur )
  File "C:\Python26\palmares.py", line 312, in classementJoueur
    nc,harm,s = classementJoueur( opener, _v[1], _v[0], _v[2], sexe, profondeur )
  File "C:\Python26\palmares.py", line 312, in classementJoueur
    nc,harm,s = classementJoueur( opener, _v[1], _v[0], _v[2], sexe, profondeur )
  File "C:\Python26\palmares.py", line 326, in classementJoueur
    s = strClassement( nom, cl, harm, palmaV, palmaD )
  File "C:\Python26\palmares.py", line 252, in strClassement
    chaine += "Palmarès de " + nom + " :\n"
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6: ordinal not in range(128)
>>>

Modifié par lakes37

Partager ce message


Lien à poster
Partager sur d’autres sites

Personnellement, quand je teste avec l'identifiant de ma femme et mon numéro de licence, j'ai un plantage avec erreur alors que si je teste avec MON identifiant de connexion et MON numéro de licence, ça fonctionne. Est-ce que le problème ne viendrait pas de là ? On ne peut effectuer la simulation que sur le numéro de licence associé au compte ?

Sinon, autre problème, ça calcule sur les résultats 2014/2015 et pas sur 2015/2016.

EDIT : En fait, après quelques autres tests, avec mon compte, ça fonctionne même sur les autres numéros de licence alors que sur le compte de ma femme, ça ne fonctionne pas, quel que soit le numéro de licence... Peut-être parce qu'elle n'a pas pris de licence cette année ?

Modifié par ppod

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé, ça ne fonctionnait pas avec le compte de ma femme car elle ne s'était pas encore connectée sur le nouvel espace du licencié. Après une première connexion, ça fonctionne.

lakes37, t'es-tu déjà connecté sur ton nouvel espace du licencié ?

EDIT : J'ai trouvé où modifier l'année pour que ça calcule sur 2015/2016 (fichier palmares.py, au début : millesime = 2016)

Modifié par ppod

Partager ce message


Lien à poster
Partager sur d’autres sites

Edit : j'ai utilisé le lien en 1ère page et ça fonctionne.

Le programme se lance bien désormais mais j'ai une erreur sur un joueur je pense, ça me ressort ça

 

0  victoire(s) en championnat individuel
 ==> Classement de sortie :  40  - Harmonisé :  40  -  classement d'origine :  NC
Traceback (most recent call last):
  File "C:\Python26\palmares.py", line 412, in <module>
    main()
  File "C:\Python26\palmares.py", line 403, in main
    recupClassement( login, password, licence, profondeur )
  File "C:\Python26\palmares.py", line 344, in recupClassement
    new_cl, harm, s = classementJoueur( op, id, nom, cl, sexe, profondeur )
  File "C:\Python26\palmares.py", line 312, in classementJoueur
    nc,harm,s = classementJoueur( opener, _v[1], _v[0], _v[2], sexe, profondeur )
  File "C:\Python26\palmares.py", line 312, in classementJoueur
    nc,harm,s = classementJoueur( opener, _v[1], _v[0], _v[2], sexe, profondeur )
  File "C:\Python26\palmares.py", line 326, in classementJoueur
    s = strClassement( nom, cl, harm, palmaV, palmaD )
  File "C:\Python26\palmares.py", line 252, in strClassement
    chaine += "Palmarès de " + nom + " :\n"
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6: ordinal not in range(128)
>>>

Même erreur que Romain.01. Est-ce que tu aurais moyen de tester avec Python 2.7 ? https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi

 

PS: par contre j'ai pas trouvé où modifier l'année pour que ça calcule sur 2015/2016

Si tu as la dernière version, c'est à la ligne 32 de palmares.py. Remplace 2015 par 2016 dans "millesime = 2015".

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu as la dernière version, c'est à la ligne 32 de palmares.py. Remplace 2015 par 2016 dans "millesime = 2015".

Oui, oui, merci, j'ai finalement trouvé, j'étais en train d'éditer mon précédent message quand tu as envoyé la réponse. ;)

Modifié par ppod

Partager ce message


Lien à poster
Partager sur d’autres sites

Même erreur que Romain.01. Est-ce que tu aurais moyen de tester avec Python 2.7 ? https://www.python.org/ftp/python/2.7.10/python-2.7.10.msi

 

Si tu as la dernière version, c'est à la ligne 32 de palmares.py. Remplace 2015 par 2016 dans "millesime = 2015".

Ça fonctionne niquel avec Python 2.7 !

Merci ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello...

Est-ce que l'outil fonctionne toujours suite aux derniers changements sur le site de la FFT ?

Partager ce message


Lien à poster
Partager sur d’autres sites
à l’instant, ppod a dit :

Hello...

Est-ce que l'outil fonctionne toujours suite aux derniers changements sur le site de la FFT ?

Il a été mis à jour suite aux changements du site, mais ça fait un bout de temps que je n'ai pas réessayé pour vérifier que ça marche toujours :)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Nicolas a dit :

Il a été mis à jour suite aux changements du site, mais ça fait un bout de temps que je n'ai pas réessayé pour vérifier que ça marche toujours :)

Oui, c'est bon, ça remarche, j'avais une erreur qui n'apparait plus à présent (sans doute une indispo temporaire du serveur FFT). Merci ! ;)

Par contre, ça rame grave !

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai dans mon palmarès deux personnes dont le nom est masqué sur le site de la fft.

Après avoir testé le logiciel tout fonctionne bien mais les joueurs dont le nom est masqué n’apparaissent pas dans la simulation et faussent donc le calcul des points.

Toutefois merci pour ce logiciel qui me sera bien utile

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai remarqué que l'outil appliquait les barêmes fammes pour le calcul du classement des hommes. En fait ligne 420 du fichier classement.py il faut rempalcer 'H' par 'M'.

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello à tous, je n'arrive plus à faire tourner correctement le petit bijou comme l'an dernier... En profondeur 2 ça à l'air de fonctionner pour quelques numéros de licence et encore les messages d'erreurs sont fréquents mais en profondeur 3 ça tourne ça tourne et au bout d'un moment c'est le drame des messages d'erreurs apparaissent rapidement ou après plusieurs heures de moulinette parfois, suis-je le seul à avoir ce soucis ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui avec le nouveau site de la FFT (qui est nettement plus lent), l'outil est moins fiable et prend beaucoup plus longtemps :(

Il faudrait améliorer le code qui interroge le site (en parallélisant les requêtes et en gérant mieux les échecs). J'aurais envie de m'y mettre mais je manque de temps pour le faire.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai pu passer un peu de temps à faire les améliorations dont je parlais plus haut :)

Comme d'habitude vous pouvez télécharger la nouvelle version ici : https://github.com/coti/classement/archive/master.zip

Ça devrait maintenant aller beaucoup plus vite et ne plus bloquer. Par exemple chez moi un calcul en profondeur 2 a pris 1 minute 46 secondes (pour 299 palmarès à récupérer en tout). J'ai même tenté en profondeur 3 pour voir : 2920 palmarès récupérés en 19 minutes 21 secondes (autant dire que je ne vous le conseille pas ^_^)

Pour ceux que ça intéresse, les palmarès sont récupérés en parallèle sur 10 threads, avant de faire les calculs de classement seulement une fois que tous les palmarès ont été récupérés. C'est pour cette raison que le calcul apparaît d'un seul coup à la fin au lieu d'apparaître progressivement comme avant.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'arrive pas à lancer "palmares.py", j'ai l'erreur sur la 3e ligne suivante :

" # Même une fois q vide, il faut attendre que les derniers palmarès soient récupérés
    print('Attente des derniers palmarès')
        q.join()"

Partager ce message


Lien à poster
Partager sur d’autres sites

Idem ^^'

 

Edit : Maintenant, j'ai :

>>> palmares
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'palmares' is not defined

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, marie a dit :

Je n'arrive pas à lancer "palmares.py", j'ai l'erreur sur la 3e ligne suivante :

" # Même une fois q vide, il faut attendre que les derniers palmarès soient récupérés
    print('Attente des derniers palmarès')
        q.join()"

OK, c'est sous Windows je suppose ? Je n'ai pas de PC avec Windows sous la main pour tester pour l'instant :(

Est-ce que tu pourrais m'envoyer par MP l'intégralité de ce qui est affiché ? Normalement il devrait y avoir un message d'erreur qui m'aiderait à savoir ce qui ne se passe pas bien.

 

Il y a 1 heure, Massoun a dit :

Idem ^^'

 

Edit : Maintenant, j'ai :

>>> palmares
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'palmares' is not defined

Là tu te retrouves dans l'interpréteur python, ce qui veut dire que tu as dû entrer python.exe (ou quelque chose du genre) sans la suite.

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso j'ai le même type de message d'erreur sous mac os... 

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui exact, j'avais changé une étape en voyant que ça ne marchait pas, au temps pour moi.

Voici le message complet de la première erreur signalée par Marie :

c:\Python27>python.exe palmares.py
  File "palmares.py", line 289
    q.join()
    ^
IndentationError: unexpected indent

 

Je viens d'essayer sur Linux (sur machine virtuelle) et même erreur

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Massoun a dit :

Oui exact, j'avais changé une étape en voyant que ça ne marchait pas, au temps pour moi.

Voici le message complet de la première erreur signalée par Marie :

c:\Python27>python.exe palmares.py
  File "palmares.py", line 289
    q.join()
    ^
IndentationError: unexpected indent

 

Je viens d'essayer sur Linux (sur machine virtuelle) et même erreur

Merci pour le message d'erreur !

C'était entièrement ma faute, fausse manip quand j'ai poussé les modifs :unsure:

C'est corrigé maintenant. https://github.com/coti/classement/archive/master.zip

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, j'ai installé PYTHON27 et fais un test.

Cela fonctionne super pour une profondeur de 1 , mais pour 2 , j'ai une erreur.

Super boulot soit dit en passant.

 

Traceback (most recent call last):
  File "C:\Python27\classement-master\palmares.py", line 503, in <module>
    main()
  File "C:\Python27\classement-master\palmares.py", line 493, in main
    recupClassement( login, password, licence, profondeur )
  File "C:\Python27\classement-master\palmares.py", line 435, in recupClassement
    new_cl, harm, s = classementJoueur( palmaresJoueurs, id, nom, cl, sexe, profondeur )
  File "C:\Python27\classement-master\palmares.py", line 405, in classementJoueur
    nc,harm,s = classementJoueur( palmaresJoueurs, _d[1], _d[0], _d[2], sexe, profondeur )
  File "C:\Python27\classement-master\palmares.py", line 399, in classementJoueur
    nc,harm,s = classementJoueur( palmaresJoueurs, _v[1], _v[0], _v[2], sexe, profondeur )
  File "C:\Python27\classement-master\palmares.py", line 410, in classementJoueur
    cl,harm = calculClassement( myV, myD, sexe,  classement, champ )
  File "C:\Python27\classement-master\classement.py", line 608, in calculClassement
    myVictoires = normalisationTab( myVictoires, mySexe )
  File "C:\Python27\classement-master\classement.py", line 526, in normalisationTab
    o = normalisation( c, sexe )
  File "C:\Python27\classement-master\classement.py", line 492, in normalisation
    cl[0] = c[0]
TypeError: 'tuple' object does not support item assignment

Partager ce message


Lien à poster
Partager sur d’autres sites

Et pour moi j'ai tenté en profondeur 3 et j'ai eu ceci après environ 1h30, dommage : 

 

Traceback (most recent call last):

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 503, in <module>

    main()

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 493, in main

    recupClassement( login, password, licence, profondeur )

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 435, in recupClassement

    new_cl, harm, s = classementJoueur( palmaresJoueurs, id, nom, cl, sexe, profondeur )

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 405, in classementJoueur

    nc,harm,s = classementJoueur( palmaresJoueurs, _d[1], _d[0], _d[2], sexe, profondeur )

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 399, in classementJoueur

    nc,harm,s = classementJoueur( palmaresJoueurs, _v[1], _v[0], _v[2], sexe, profondeur )

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 405, in classementJoueur

    nc,harm,s = classementJoueur( palmaresJoueurs, _d[1], _d[0], _d[2], sexe, profondeur )

  File "C:\Users\XXXX\Desktop\classement-master\palmares.py", line 410, in classementJoueur

    cl,harm = calculClassement( myV, myD, sexe,  classement, champ )

  File "C:\Users\XXXX\Desktop\classement-master\classement.py", line 608, in calculClassement

    myVictoires = normalisationTab( myVictoires, mySexe )

  File "C:\Users\XXXX\Desktop\classement-master\classement.py", line 526, in normalisationTab

    o = normalisation( c, sexe )

  File "C:\Users\XXXX\Desktop\classement-master\classement.py", line 492, in normalisation

    cl[0] = c[0]

TypeError: 'tuple' object does not support item assignment

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×