Roromis / Lalf-Forumactif

Script permettant de convertir un forum hébergé par Forumactif en forum phpbb.
https://roromis.github.io/Lalf-Forumactif/
GNU General Public License v3.0
21 stars 13 forks source link

Problème à la récup des membres #12

Closed Lemmy1916 closed 11 years ago

Lemmy1916 commented 11 years ago

Bonsoir à vous et encore merci pour ce script ! Mais voilà j'ai un petit soucis, pourriez vous m'aider ?

20/01/2013 22:12:12 - DEBUG : Récupération : membre 19 20/01/2013 22:12:12 - DEBUG : Récupération : membre 20 20/01/2013 22:12:13 - ERROR : Une erreur s'est produite. Essayez de relancer le script. Pour plus d'informations, consultez le fichier debug.log. Traceback (most recent call last): File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 430, in etapes[i]() File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 257, in get_users id = int(re.search("&u=(\d+)&", e("td a").eq(0).attr("href")).group(1)) File "C:\Python27\lib\re.py", line 142, in search return _compile(pattern, flags).search(string) TypeError: expected string or buffer 20/01/2013 22:12:13 - INFO : Sauvegarde de la progression

Roujo commented 11 years ago

Ça ressemble beaucoup au problème que Centrallatrice a eu ici: https://github.com/Roromis/Lalf-Forumactif/issues/4

Peut-être que ça peut t'aider!

Lemmy1916 commented 11 years ago

Malheureusement non :(

Lemmy1916 commented 11 years ago

J'ai attendu 24h, relancé le script et je monte à 324 utilisateurs mais le problème c'est qu'après l'erreur il relance le script, ne monte qu'à 20utilisateurs et écrase la sauvegarde, du coup je n'ai plus que 20 utilisateurs sauvegardés ...bref il faut coupé juste après la sauvegarde à 324 utilisateurs et re-attendre 24 si je comprend bien ... Il n'y à pas moyen de changer le nombre de requêtes du script pour le ralentir et éviter ainsi l'erreur de requêtes excessive qui bloque le forum 24h ?


22/01/2013 16:16:25 - DEBUG : Récupération : membre 323 22/01/2013 16:16:25 - DEBUG : Récupération : membre 324 22/01/2013 16:16:26 - ERROR : Une erreur s'est produite. Essayez de relancer le script. Pour plus d'informations, consultez le fichier debug.log. Traceback (most recent call last): File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 430, in etapes[i]() File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 257, in get_users id = int(re.search("&u=(\d+)&", e("td a").eq(0).attr("href")).group(1)) File "C:\Python27\lib\re.py", line 142, in search return _compile(pattern, flags).search(string) TypeError: expected string or buffer 22/01/2013 16:16:26 - INFO : Sauvegarde de la progression 22/01/2013 16:16:36 - INFO : Migration Forumactif -> PhpBB : Lalf 0.2.1 22/01/2013 16:16:36 - DEBUG : Importation des bibliothèques 22/01/2013 16:16:36 - DEBUG : Importation de la sauvegarde 22/01/2013 16:16:36 - DEBUG : Création de l'urlopener 22/01/2013 16:16:36 - INFO : Connection au forum 22/01/2013 16:16:38 - DEBUG : Récupération du sid 22/01/2013 16:16:38 - DEBUG : Récupération du tid 22/01/2013 16:16:41 - INFO : Récupération des membres 22/01/2013 16:16:42 - DEBUG : Récupération : membre 1 22/01/2013 16:16:42 - DEBUG : Récupération : membre 2 22/01/2013 16:16:42 - DEBUG : Récupération : membre 3 22/01/2013 16:16:42 - DEBUG : Récupération : membre 4 22/01/2013 16:16:42 - DEBUG : Récupération : membre 5 22/01/2013 16:16:42 - DEBUG : Récupération : membre 7 22/01/2013 16:16:42 - DEBUG : Récupération : membre 8 22/01/2013 16:16:42 - DEBUG : Récupération : membre 9 22/01/2013 16:16:42 - DEBUG : Récupération : membre 10 22/01/2013 16:16:42 - DEBUG : Récupération : membre 11 22/01/2013 16:16:42 - DEBUG : Récupération : membre 12 22/01/2013 16:16:42 - DEBUG : Récupération : membre 13 22/01/2013 16:16:42 - DEBUG : Récupération : membre 14 22/01/2013 16:16:42 - DEBUG : Récupération : membre 16 22/01/2013 16:16:42 - DEBUG : Récupération : membre 17 22/01/2013 16:16:42 - DEBUG : Récupération : membre 18 22/01/2013 16:16:42 - DEBUG : Récupération : membre 19 22/01/2013 16:16:42 - DEBUG : Récupération : membre 20 22/01/2013 16:16:42 - DEBUG : Récupération : membre 21 22/01/2013 16:16:42 - DEBUG : Récupération : membre 22 22/01/2013 16:16:43 - ERROR : Une erreur s'est produite. Essayez de relancer le script. Pour plus d'informations, consultez le fichier debug.log. Traceback (most recent call last): File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 430, in etapes[i]() File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a\forumactif-phpbb.py", line 257, in get_users id = int(re.search("&u=(\d+)&", e("td a").eq(0).attr("href")).group(1)) File "C:\Python27\lib\re.py", line 142, in search return _compile(pattern, flags).search(string) TypeError: expected string or buffer 22/01/2013 16:16:43 - INFO : Sauvegarde de la progression

Lemmy1916 commented 11 years ago

Arrrg pitié de l'aide s'il vous plait, impossible de passer les 324 membres, j'ai attendu 24h pour relancer le script à partir de ma dernière save à 324 membres, mais il reprend à zéro pour la réception des membres du coup j'en reviens perpétuellement à 324 !! HELP ! :(

Roujo commented 11 years ago

Écoute, je peux bien essayer de t'aider, mais je dois dire que je suis loin d'être un expert - mon expérience en Python est bien limitée, et je suis un peu perdu dans le code de Roromis.

re.search() semble recevoir un paramètre erroné. Peux-tu ajouter ceci:

print e("td a").eq(0).attr("href")

...avant la ligne 257 de forumactif-phpbb.py qui cause l'erreur, soit:

id = int(re.search("&u=(\d+)&", e("td a").eq(0).attr("href")).group(1))

Ça va nous montrer ce que le script passe à re.search() pour le faire planter.

Roujo commented 11 years ago

Oh, et surtout, il faut que les deux lignes aient la même indentation - le même nombre de tabs au début de la ligne, en fait. Je crois que c'est 3 tabs à cet endroit, mais vérifier serait bien.

Lemmy1916 commented 11 years ago

Bonjour et merci de l’intérêt porté à ce sujet ^^

En fait le problème vient du nombre de requêtes envoyées sur le forumactif, après un essai on peu voir ce message sur le forum :

"Request limit exceeded

It appears that your computer has made too many requests on the same page recently. Please make sure your antivirus is up to date.

If you have any questions about this message, feel free to contact the support"

Et du coup, mis à part la première page des membres (les 20premiers) on ne peut plus accéder à la liste, forumactif les bloquent 24h.

Ce qu'il faudrait c'est que le script envoi moins de requêtes ou au moins qu'il reprennent à partir d'ou j'en était sur la save. Par exemple j'ai une save à 324 utilisateurs, je 'les voit bien sur mon .save mais lorsque je relance le script il reprend à 0 et écrase cette save, bref c'est une boucle sans fin. Y'a t'il moyen qu'il reprennent depuis le dernier utilisateur enregistrer, ou forcer le script à démarrer à partir de l'utilisateur 325 manuellement ?

Sinon voici le log avec l'ajout de ton code

25/01/2013 16:37:38 - INFO : Migration Forumactif -> PhpBB : Lalf 0.2.1 25/01/2013 16:37:38 - DEBUG : Importation des bibliothèques 25/01/2013 16:37:38 - DEBUG : Importation de la sauvegarde 25/01/2013 16:37:39 - DEBUG : Création de l'urlopener 25/01/2013 16:37:39 - INFO : Connection au forum 25/01/2013 16:37:40 - DEBUG : Récupération du sid 25/01/2013 16:37:40 - DEBUG : Récupération du tid 25/01/2013 16:37:43 - INFO : Récupération des membres 25/01/2013 16:37:44 - DEBUG : Récupération : membre 1 25/01/2013 16:37:44 - DEBUG : Récupération : membre 2 25/01/2013 16:37:44 - DEBUG : Récupération : membre 3 25/01/2013 16:37:44 - DEBUG : Récupération : membre 4 25/01/2013 16:37:44 - DEBUG : Récupération : membre 5 25/01/2013 16:37:44 - DEBUG : Récupération : membre 7 25/01/2013 16:37:44 - DEBUG : Récupération : membre 8 25/01/2013 16:37:44 - DEBUG : Récupération : membre 9 25/01/2013 16:37:44 - DEBUG : Récupération : membre 10 25/01/2013 16:37:44 - DEBUG : Récupération : membre 11 25/01/2013 16:37:44 - DEBUG : Récupération : membre 12 25/01/2013 16:37:44 - DEBUG : Récupération : membre 13 25/01/2013 16:37:44 - DEBUG : Récupération : membre 14 25/01/2013 16:37:44 - DEBUG : Récupération : membre 16 25/01/2013 16:37:44 - DEBUG : Récupération : membre 17 25/01/2013 16:37:44 - DEBUG : Récupération : membre 18 25/01/2013 16:37:44 - DEBUG : Récupération : membre 19 25/01/2013 16:37:44 - DEBUG : Récupération : membre 20 25/01/2013 16:37:44 - DEBUG : Récupération : membre 21 25/01/2013 16:37:44 - DEBUG : Récupération : membre 22 25/01/2013 16:37:45 - ERROR : Une erreur s'est produite. Essayez de relancer le script. Pour plus d'informations, consultez le fichier debug.log. Traceback (most recent call last): File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a - Copie\forumactif-phpbb.py", line 430, in etapes[i]() File "C:\Users\Luc\Desktop\Roromis-Lalf-Forumactif-dbf1a8a - Copie\forumactif-phpbb.py", line 257, in get_users id = int(re.search("&u=(\d+)&", e("td a").eq(0).attr("href")).group(1)) File "C:\Python27\lib\re.py", line 142, in search return _compile(pattern, flags).search(string) TypeError: expected string or buffer 25/01/2013 16:37:45 - INFO : Sauvegarde de la progression

Roujo commented 11 years ago

Ah, okay, je vois le genre.

De ce que je comprends, le script repart à zéro pour les utilisateurs car il ne sauvegarde que l'étape où il est rendu, pas l'endroit où il est rendu dans cette étape. Quand il repart, il voit qu'il s'est arrêté alors qu'il devait aller chercher les utilisateurs, alors il recommence à partir de zéro.

Maintenant... Est-ce que ça s'arrange? Est-ce possible de le faire recommencer à l'utilisateur où il était rendu? Sure! Suffit de le coder. C'est pour ça que je suis programmeur, en fait - ce qui est possible ne dépend souvent que de notre volonté à le réaliser.

Donc, c'est possible. Est-ce que ça va être facile? Aucune idée. Je vais faire une branche du code de Roromis et je vais essayer d'arranger ça. L'affaire, c'est que je travaille quand même à temps plein, alors je ne sais pas quand est-ce que ça va être prêt - ni même si je vais y arriver, étant donné que je ne connaît pas beaucoup ni le Python ni le code de Roromis, et encore moins PyQuery.

Je vais faire mon possible et je t'en redonne des nouvelles. =)

Roujo commented 11 years ago

Mise à jour: J'ai changé de description de tâche au travail, et ça me prend plus de mon énergie. Je ne crois pas avoir le goût de me mettre sur ce problème pour un bout - je préfère me changer les idées rendu à la maison. Désolé. =/

GauthierPLM commented 11 years ago

J'ai également un problème sur la récupération des membres, voici mon log :

02/05/2013 11:51:11 - INFO : Récupération des membres 02/05/2013 11:51:13 - DEBUG : Récupération : membre 1 02/05/2013 11:51:13 - DEBUG : Récupération : membre 2 02/05/2013 11:51:13 - DEBUG : Récupération : membre 3 02/05/2013 11:51:13 - DEBUG : Récupération : membre 5 02/05/2013 11:51:13 - DEBUG : Récupération : membre 6 02/05/2013 11:51:13 - DEBUG : Récupération : membre 7 02/05/2013 11:51:13 - DEBUG : Récupération : membre 9 02/05/2013 11:51:13 - ERROR : Une erreur s'est produite. Essayez de relancer le script. Pour plus d'informations, consultez le fichier debug.log. Traceback (most recent call last): File "C:\Users\Gauthier\Desktop\Lalf-Forumactif-master\Lalf-Forumactif-master\forumactif-phpbb.py", line 436, in etapes[i]() File "C:\Users\Gauthier\Desktop\Lalf-Forumactif-master\Lalf-Forumactif-master\forumactif-phpbb.py", line 274, in get_users lastvisit = time.mktime(time.struct_time((int(lastvisit[2]),month[lastvisit[1]],int(lastvisit[0]),0,0,0,0,0,0))) KeyError: u'F\xc3\xa9v' 02/05/2013 11:51:13 - INFO : Sauvegarde de la progression

Donc un peu différent du précédent, mais le problème semble similaire ...

Lemmy1916 commented 11 years ago

Salut,

Je viens de voir à l'instant ton message, à force de bidouiller et d'essayer j'ai fini par y arriver ^^ Je ne suis pas très fort dans ce domaine mais bon, j'ai finalement réussi. Si tu veux je peu essayer de t'aider et te dire comment j'ai fait. Ajoute moi sur skype ( killerlemmy ) ou passe sur le TS de mon site : http://jeux-coop.com/