transition-bibliographique / bibliostratus

Bibliostratus : STRatégie d'Alignement d'URIs pour la Transition bibliographique
http://www.transition-bibliographique.fr/
GNU General Public License v3.0
18 stars 6 forks source link

Exception in Tkinter callback #66

Open msaby opened 4 years ago

msaby commented 4 years ago

Nouvelle erreur lors de l'alignement de données avec le Sudoc avec la version 1.29 téléchargée le 27/3/2020 et exécutée depuis la source

  1. VAR3047798 : Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\MATHIEU\Miniconda3\lib\tkinter__init.py", line 1705, in call return self.func(*args) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2784, in form_bib2ark, File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2453, in launch file2row(form_bib2ark, entry_filename, liste_reports, parametres) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2400, in file2row item2id(row, n, form_bib2ark, parametres, liste_reports) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2329, in item2id alignment_result = item_alignement(input_record, parametres) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2305, in item_alignement bibid = item2ppn_by_keywords(input_record, parametres) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 2248, in item2ppn_by_keywords ppn = tad2ppn(input_record, parametres) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 1612, in tad2ppn listePPN = urlsudoc2ppn(url) File "C:\PROJETS\bibliostratus\bibliostratus\bib2id.py", line 1658, in urlsudoc2ppn page = parse(page) File "C:\Users\MATHIEU\Miniconda3\lib\site-packages\lxml\html\init__.py", line 939, in parse return etree.parse(filename_or_url, parser, base_url=base_url, **kw) File "src/lxml/etree.pyx", line 3519, in lxml.etree.parse File "src/lxml/parser.pxi", line 1860, in lxml.etree._parseDocument File "src/lxml/parser.pxi", line 1880, in lxml.etree._parseFilelikeDocument File "src/lxml/parser.pxi", line 1775, in lxml.etree._parseDocFromFilelike File "src/lxml/parser.pxi", line 1187, in lxml.etree._BaseParser._parseDocFromFilelike File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc File "src/lxml/parser.pxi", line 707, in lxml.etree._handleParseResult File "src/lxml/etree.pyx", line 318, in lxml.etree._ExceptionContext._raise_if_stored File "src/lxml/parser.pxi", line 370, in lxml.etree._FileReaderContext.copyToBuffer File "C:\Users\MATHIEU\Miniconda3\lib\http\client.py", line 447, in read n = self.readinto(b) File "C:\Users\MATHIEU\Miniconda3\lib\http\client.py", line 491, in readinto n = self.fp.readinto(b) File "C:\Users\MATHIEU\Miniconda3\lib\socket.py", line 589, in readinto return self._sock.recv_into(b) socket.timeout: timed out
msaby commented 4 years ago

En relançant l'analyse en repartant de la notice VAR3047798 , l'erreur ne se produit plus. Donc sans doute pas liée aux informations dans le fichier source, mais plutôt une erreur dynamique liée à l'analyse des données du sudoc ou de la bnf

Lully commented 4 years ago

@msaby Sans doute une fonction d'ouverture de page web où je n'avais pas prévu l'erreur socket.timeout. Je viens de l'ajouter (pas encore mis en ligne, cela dit : je travaille sur le débugage des tests automatiques [sic])

Lully commented 4 years ago

Je n'arrive pas à reproduire ton erreur avec le fichier fourni. Je viens de compiler une 1.29 (dans la branche 1.29), peux-tu tester et me dire si le problème persiste ? (en ce cas je crois qu'il me faudra une plus grosse partie de ton fichier, si l'erreur est cachée ailleurs)

https://github.com/Transition-bibliographique/bibliostratus/blob/1.29/bin/RC/bibliostratus_1.29RC_win64_py3.6.zip

msaby commented 4 years ago

Je ne pense pas que le problème vienne du fichier, mais d'une gestion des erreurs insuffisante lors de l'exécution de la requête http. Sans doute une petite défaillance de mon wifi, ou un timeout du serveur. Je m'en sors en coupant mes fichiers en morceaux avant de les bibliostratusser