Closed ArnoHolo closed 8 years ago
Non effectivement, ce n'est pas un problème de bibliothèque. Le commit febc5c3 devrait supprimer l'erreur.
Peux tu vérifier que tous les groupes sont exportés? Si tu ne veux pas attendre la fin de l'exportation, tu peux interrompre le script et exécuter ces commandes dans une session python pour afficher les noms des groupes exportés :
from lalf.bb import load
bb = load()
print([g.name for g in bb.children[2].children])
Quelques questions à propos de l'installation:
brew install python
: d'après braumeister il s'agit de la version 2, il faudrait plutôt utiliser brew install python3
non?Je remarque dans ton fichier debug.log que tu as beaucoup d'utilisateurs. Est-ce qu'un dossier usermails a été créé pendant leur exportation?
Merci !
Nouvelle erreur :
Traceback (most recent call last):
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/__init__.py", line 58, in main
bb.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 112, in export
self._export_()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/groups.py", line 151, in _export_
stylematch = stylepattern.fullmatch(link.attr("style"))
TypeError: expected string or bytes-like object
Effectivement, ça doit être python3. Je l'avais déjà d'installé il y a quelques mois.
Pour Anaconda, c'est parce que pip ne fonctionnait pas et n'était pas disponible dans brew. Mais peut-être qu'il y a moyen de l'avoir quand même avec ? J'avoue ne pas avoir trop longtemps cherché.
Pas de dossier usermails, non... (Et oui, c'est un forum de 2000 utilisateurs environ.)
Bon visiblement les groupes ne sont pas listés de la même façon chez toi que chez moi... J'ai encore tenté de faire une correction (217e52b).
Visiblement pip est inclus dans la formule python3, mais il faut exécuter pip3
au lieu de pip
(et python3
au lieu de python
). Tes problèmes viennent peut-être de là?
Pas de dossier usermails, non... (Et oui, c'est un forum de 2000 utilisateurs environ.)
Ok, merci!
Merci !!
Ça a permis d'extraire les groupes, et c'est passé aux messages.
Cependant, une autre erreur :
Traceback (most recent call last):
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/__init__.py", line 58, in main
bb.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 116, in export
child.export()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/node.py", line 112, in export
self._export_()
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/posts.py", line 128, in _export_
timestamp = parse_date(e("table td span.postdetails").contents()[3])
File "/Users/ad/Workspace/Lalf-Forumactif-master/lalf/util.py", line 119, in parse_date
post_date, post_time = string.split(" - ")
ValueError: not enough values to unpack (expected 2, got 1)
J'ai essayé avec python
et python3
, mais après coup je me suis rendu compte que le premier lançait python 3.5.1, bref peu différent.
Tu as l'erreur dès le premier post, ou des posts sont exportés?
As-tu bien configuré le format de date (voir documentation)?
Si c'est le cas, dans le fichier lalf/topics.py, ligne 128, peux-tu ajouter la ligne suivante (avec des espaces en début de ligne, pas de tabulations):
# Get the date and time of the post
print(e("table td span.postdetails").outerHtml()) # ajoute cette ligne
timestamp = parse_date(e("table td span.postdetails").contents()[3])
Puis relance le lalf, et envoie moi les dernières lignes du fichier debug.log (en incluant une dizaine de lignes avant ERROR : Une erreur est survenue...
). Il y aura du code html, vérifie qu'il n'y a rien de privé dedans (normalement il n'y aura que des titres de messages, tu peux les censurer si tu veux).
Des posts sont bien exportés et la date est bien réglée.
J'ai relancé et j'ai toujours la même erreur à la fin du débug.log. Les lignes d'avant l'erreur sont :
DEBUG : Récupération des messages du sujet 4785 (page 50)
DEBUG : Connection au forum
DEBUG : Récupération du sid
DEBUG : Récupération du tid
INFO : Récupération du message 303858 (sujet 4785)
INFO : Récupération du message 303859 (sujet 4785)
INFO : Récupération du message 303860 (sujet 4785)
INFO : Récupération du message 303867 (sujet 4785)
INFO : Récupération du message 303910 (sujet 4785)
INFO : Récupération du message 303919 (sujet 4785)
INFO : Récupération du message 303980 (sujet 4785)
INFO : Sauvegarde de l'état courant.
Je pense que c'est parce que le script recherche un tiret (-) mais quand il s'agit d'un message du jour (j'ai retrouvé le topic en question), il n'y en a pas. ("Aujourd'hui à 10:00")
Ah ok, Forumactif a changé le format des dates des messages récents. Je fais mes tests sur un vieux forum donc je ne m'en suis pas rendu compte... C'est corrigé (6ec9dd4).
Je ferme ce ticket puisqu'on est passé à un autre problème.
Hello, j'ai cette erreur...
Je suis sous Mac OS X, et j'ai bien installé les librairies. Ça a bien extrait les utilisateurs, donc je pense que ce n'est pas un problème de librairies.
D'ailleurs voilà ce que j'ai dû installer, pour compléter la documentation du site :
installer brew : http://brew.sh/
brew install python
brew install gocr
brew install Caskroom/cask/anaconda
export PATH="/Users/<username>/anaconda3/bin:$PATH”
conda install pip
pip install lxml
pip install pyquery
lancer script :
python lalf.py
Voilà mon fichier de débug :
debug.txt