Aller au contenu
Forums Tennis-Classim
bhamp0

Outil de récupération du classement futur

Recommended Posts

Il y a 8 heures, ggman23 a dit :

Bonjour,

petite question , j'ai lancé hier une simulation de profondeur 4, cela a pris 5h pour récupérer tous les palmares, puis ça fait 12h maintenant que  j'en suis à la ligne "attente des derniers palmares" , donc je pense que ça n'aboutira pas en fait.

ça me l'as déjà fait sur des profondeurs 3 par le passé et du coup je coupais et je relançais et ça marchait.
c'est un bug qui fait ça ou y'a une autre explication ?

C'est le serveur qui t'as foutu dehors, donc ça boucle dans le vide... 

Partager ce message


Lien à poster
Partager sur d’autres sites

pour la boucle dans le vide je confirme, au bout de 24h j'étais toujours sur l'attente des derniers palmares, alors j'ai quitté lol

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 14/08/2019 à 11:34, ggman23 a dit :

Bonjour,

petite question , j'ai lancé hier une simulation de profondeur 4, cela a pris 5h pour récupérer tous les palmares, puis ça fait 12h maintenant que  j'en suis à la ligne "attente des derniers palmares" , donc je pense que ça n'aboutira pas en fait.

ça me l'as déjà fait sur des profondeurs 3 par le passé et du coup je coupais et je relançais et ça marchait.
c'est un bug qui fait ça ou y'a une autre explication ?

 

J'ai fait un changement pour éviter que l'outil reste bloqué dans cette situation : https://github.com/coti/classement/commit/2a7224ce062f2738db29f4dfd776a275cc207844

Citation

Interruption de la phase "Attente des derniers palmarès" après 2 minutes.


Si des palmarès sont manquants le calcul est lancé tout de même mais risque d'être faussé.

 

J'ai aussi ajouté un argument optionnel lors du lancement du script : -v pour afficher des logs de debug qui donnent (entre autres) des infos sur les requêtes au site de la FFT.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens @Nicolas je n'avais pas récupéré/testé la version précédente qui permet de masquer le password.

Après download des fichiers palmares.py + classement.py, ça me remonte une erreur sur l'appel de la fonction "getpass" :

	C:\Python27>palmares.py
Identifiant : toto
Traceback (most recent call last):
  File "C:\Python27\palmares.py", line 625, in <module>
    main()
  File "C:\Python27\palmares.py", line 569, in main
    password = args.password if args.password else getpass("Mot de passe : ")
  File "C:\Python27\lib\getpass.py", line 95, in win_getpass
    msvcrt.putch(c)
TypeError: must be char, not unicode
	C:\Python27>
	

 

Si par contre j'appelle la commande avec le prompt par défaut ( et non "Mot de passe : " ), ça fonctionne :

	    password = args.password if args.password else getpass()
	

ma version Python : 2.7.11

Partager ce message


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

Tiens @Nicolas je n'avais pas récupéré/testé la version précédente qui permet de masquer le password.

Après download des fichiers palmares.py + classement.py, ça me remonte une erreur sur l'appel de la fonction "getpass" :


	C:\Python27>palmares.py
Identifiant : toto
Traceback (most recent call last):
  File "C:\Python27\palmares.py", line 625, in <module>
    main()
  File "C:\Python27\palmares.py", line 569, in main
    password = args.password if args.password else getpass("Mot de passe : ")
  File "C:\Python27\lib\getpass.py", line 95, in win_getpass
    msvcrt.putch(c)
TypeError: must be char, not unicode
	C:\Python27>
	

 

Si par contre j'appelle la commande avec le prompt par défaut ( et non "Mot de passe : " ), ça fonctionne :


	    password = args.password if args.password else getpass()
	

ma version Python : 2.7.11

Bizarre, ça fonctionne sans problème chez moi.

La version 2.7.11 est assez ancienne maintenant. Est-ce que tu pourrais essayer avec la 2.7.16 ? Si ça ne fonctionne toujours pas je ferai une correction.

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 13/08/2019 à 16:45, Moe6 a dit :

Je viens de vérifier tout ça et non non je n ai pas fait d erreur, ça ne marche toujours pas pour moi.

Merci en tout cas

Est-ce que tu as des caractères spéciaux (comme des lettres avec des accents) dans ton nom d'utilisateur ou ton mot de passe ?

J'ai la même erreur que toi quand je rentre un mot de passe incorrect. C'est possible que tu entres les bonnes valeurs mais qu'un bug d'encodage fasse que les mauvaises soient envoyées au serveur de la FFT.

Partager ce message


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

Bizarre, ça fonctionne sans problème chez moi.

La version 2.7.11 est assez ancienne maintenant. Est-ce que tu pourrais essayer avec la 2.7.16 ? Si ça ne fonctionne toujours pas je ferai une correction.

installé 2.7.16, ça change rien.

J'ai contourné avec :

 

	    password = args.password if args.password else getpass(str("Mot de passe : "))
	

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 43 minutes, Yusuke118 a dit :

installé 2.7.16, ça change rien.

J'ai contourné avec :

 

 


	    password = args.password if args.password else getpass(str("Mot de passe : "))
	

 

OK merci de l'avoir essayé. J'ai fait la correction : https://github.com/coti/classement/commit/35d118f475c84a4632a40a8450d636aaa5c32156

Je suis étonné que tu sois le premier à avoir ce problème. Tu utilises l'outil sous quel OS ? Et comment tu le lances ?

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 42 minutes, Nicolas a dit :

Je suis étonné que tu sois le premier à avoir ce problème. Tu utilises l'outil sous quel OS ? Et comment tu le lances ?

J'ouvre une invite DOS (cmd) en me mettant dans le répertoire python dans lequel se trouve également les scripts de l'outil et je tape la commande "palmares.py"  ( cf le bout de code que j'avais copié plus haut )

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut à tous :)

Python 2.7 sera bientôt déclaré officiellement obsolète. Je commence donc à préparer le passage à Python 3.

La première étape est de moderniser le code de connexion au site de la FFT (en particulier la gestion des cookies). Pour ce faire je l'ai basculé sur la librairie Requests, qui est la référence du domaine. C'est une dépendance externe, mais rassurez-vous : son installation est effectuée automatiquement si besoin au lancement de l'outil.

Comme c'est un changement important je ne l'ai pas encore poussé sur la branche master. J'ai passé du temps à tester, mais pour l'instant je n'ai accès qu'à un Mac et je n'ai probablement pas pensé à tous les cas de figure. J'aurais donc besoin de quelques volontaires pour essayer cette nouvelle version avant de rendre le changement "officiel" en le poussant sur master. Vous pouvez la télécharger là : https://github.com/coti/classement/archive/requests.zip (Note : c'est toujours avec Python 2.7 qu'il faut lancer cette version ! Le passage à Python 3 sera pour plus tard)

Merci de me faire des retours en MP pour me dire si ça fonctionne ou non chez vous :)

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est sûr que requests c'est le must...

Urllib ca se fait vraiment vieux on aurait pu carrément utiliser sockets ça aurait été pareil 😂

Partager ce message


Lien à poster
Partager sur d’autres sites

Je me demande si le bonus de 100 points pour absence de défaite significative est pris en compte par cet outil ?

Partager ce message


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

Je me demande si le bonus de 100 points pour absence de défaite significative est pris en compte par cet outil ?

Il l’est puisque c’est ça qui permet à un de mes adversaires de se maintenir et il est bien maintenu dans le compte-rendu de l’outil.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben justement, je me pose une question au sujet de ce bonus.

J'ai battu un 15/4 qui n'a pas perdu en dessous de 15/3 donc il est bien calculé à 15/4 sur la FFT avec ce bonus mais pas avec l'outil. Moi s'il se maintient, je me maintiens aussi 15/3.

Mais dans quel sens se fait le calcul ? Qui de la poule ou de l’œuf...? Si je descends il descend et lycée de Versailles.

Donc comprenez ma perplexitude. :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

L'hypothèse la plus probable, c'est qu'un des 15/3 de ton adversaire descende 15/4, chose que l'outil de la FFT ne calcule pas, mais que l'outil d'ici calcule. Du coup ton adversaire est privé du bonus car il a une défaite (ou plus) à 15/4.

  • Like 1
  • Thanks 1

Partager ce message


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

Si je descends il descend et lycée de Versailles.

Je comprends pas trop ce que t'as voulu dire par là 😂

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 23 minutes, nat54 a dit :

"Vice et versa" emoji6.png

Et Versa vice. :biere:

Partager ce message


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

L'hypothèse la plus probable, c'est qu'un des 15/3 de ton adversaire descende 15/4, chose que l'outil de la FFT ne calcule pas, mais que l'outil d'ici calcule. Du coup ton adversaire est privé du bonus car il a une défaite (ou plus) à 15/4.

C'est moi le seul 15/3 à l'avoir battu, d'où ma question à propos de ce bonus. Si je reste 15/3 il conserve ce bonus mais moi je reste 15/3 s'il se maintien 15/4 grâce à ce bonus.

Tu as compris le coup ? Après j't'explique. :D

MDbKrTHf_400x400.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans ce cas je crois que le calcul final de la FFT ne te fait pas monter.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, en fait le calcul se fait sans le bonus qui est ajouté à l'harmonisation je crois.

Donc comme il me manque 10 points, je vais devoir battre un 15/4 qui va remplacer un 15/5 dans mon palmarès. Et la saison se termine dans 10 jours ! :devil:

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 37 minutes, ecarre a dit :

Oui, en fait le calcul se fait sans le bonus qui est ajouté à l'harmonisation je crois.

Donc comme il me manque 10 points, je vais devoir battre un 15/4 qui va remplacer un 15/5 dans mon palmarès. Et la saison se termine dans 10 jours ! :devil:

Comme tu es à +/- 10 près de te maintenir ou de descendre, le programme est en pleine zone d'incertitude. Tout est possible car le jeu des bonus peut faire pencher la balance dans un sens ou dans l'autre. Reste plus qu'à attendre le vrai verdict. Ou de faire un dernier tournoi pour récolter des points supplémentaires.

Partager ce message


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

 

Donc comme il me manque 10 points, je vais devoir battre un 15/4 qui va remplacer un 15/5 dans mon palmarès. Et la saison se termine dans 10 jours ! :devil:

Bah tu contactes le 15/4 que tu as battu pour lui dire que son maintien dépend de toi et il sera d accord pour te payer ton dernier tournoi...

 

 

... ou pas 😆

Partager ce message


Lien à poster
Partager sur d’autres sites

La dernière mise à jour marche nickel chez moi. Possible de l'avoir en .exe ? Au boulot je peux pas installer Pyhton :/

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 31/07/2019 à 11:33, Yusuke118 a dit :

Sur la version que j ai modifié l année dernière je crois que j avais fait en sorte de virer tous les caractères accentués lors des traitements. Je n ai pas vérifié si c'est toujours le cas sur les nouvelles livraisons.

 

Le 31/07/2019 à 18:44, Nicolas a dit :

Au final je n'avais pas pris le temps de reprendre tes modifs l'année dernière. Est-ce que tu voudrais bien me les envoyer ? Comme ça je les incluerai dans la version publiée sur GitHub.

 

Petit bug sur la nouvelle version quand on calcule le palma d'un joueur présentant un caractère spécial dans ses nom/prénom.

En fait comme à l'époque j'avais ajouté la chaine "NOM prenom" dans le nom du fichier résultat, ca génère une erreur lors de la création du fichier et on n'a pas de fichier du tout :

	Traceback (most recent call last):
  File "C:\Python27\palmares.py", line 628, in <module>
    main()
  File "C:\Python27\palmares.py", line 593, in main
    recupClassement(login, password, licence, profondeur, args.details)
  File "C:\Python27\palmares.py", line 537, in recupClassement
    fn = str( LICENCE ) + "_" + str( nom ) + "_p" + str( profondeur ) + ".txt"
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 8: ordinal not in range(128)
	

L'erreur ci-dessus vient du calcul d'un joueur ayant pour prénom "Régis",  il avait un nom de 6 lettres si bien que le "é" arrive en 9e position (position 8 à partir de 0)

C'est pour ça que je serais d'avis de virer les caractères accentués de tous les nom/prénoms des joueurs y compris celui qu'on calcule.

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

×