05-26-2023, 06:19 AM | #61 | |
Connoisseur
Posts: 93
Karma: 40
Join Date: Mar 2020
Location: Belgium (sorry, I am from the Walloon side of the country and I speak french only)
Device: PW3, Kobo Libra H2O
|
Quote:
Merci pour ton retour... Le plus longtemps que j'ai été banni, c'est de l'ordre de 2 semaines (je n'ai pas essayé tous les jours )... Donc, garde espoir. En fait, je ne comprends pas comment ils mesurent les accès. Il me semble que leur algorithme prend en compte tant le nombre d'accès que le temps entre chaque accès. Je présume que l'intention est de limiter l'accès au seuls "humains" pour rejeter les "accès type robot"... En tous les cas, le but semble être d'eviter une saturation du serveur Babelio, et c'est tout à fait normal... Je n'ai pas vu que leur site proposait une limitation par un fichier "robot" et donc j'ai imaginé de laisser, au moins, un temps de plus d'une seconde entre chaque accès (1.2 sec. en fait). J'ai établi cela avec ce décorateur que je place sur la routine de lecture de la page: Code:
class Un_par_un(object): ''' This is a class decorator, cause I am too lazy rewrite that plugin... :), beside I want to learn creating one. Well, granted, dedicated to ret_soup() Purpose: execute the decorated function with a minimum of x seconds between each execution, and collect all access time information... rate_limit() from calibre.ebooks.metadata.sources.search_engines provides the delay using a locked file containing the access time... maintenance of this resource is hidden in a context manager implementation. @contextmanager def rate_limit(name='test', time_between_visits=2, max_wait_seconds=5 * 60, sleep_time=0.2): I assume that calibre will wait long enough for babelio plugin (I pushed to 45 sec after first match) ''' def __init__(self,fnctn): self.function = fnctn self._memory = [] def __call__(self, *args, **kwargs): # who is calling who = "[__init__]" for key,value in kwargs.items(): if "who" in key: who = value with rate_limit(name='Babelio_db', time_between_visits=TIME_INTERVAL): # call decorated function: "ret_soup" whose result is (soup,url) result = self.function(*args, **kwargs) self._memory.append((result[1], time.asctime(), who)) return result def get_memory(self): mmry = self._memory self._memory = [] return mmry Avec ce setup, je ne fais pas jeter si j'accède le site avec une série de requête de quelque 10 titres à la fois... Je ne fais jamais aucune requête de de centaine de titres qu'en cours de test, et j'évite de répéter un test... Je veux respecter Babelio et ses règles (trop implicites malheureusement). Je suppose que si tu exposes le nombre d'accès pour les 10 titres et le temps entre chaque accès, tu pourrais voir que un op de Babelio aurait des raisons de te suspendre... (c'est la raison de get_memory dans mon décorateur.) Le pluggin réagis sur une réponse http de valeur "500". Je pourrais voir si j'ai un retour = "429", mais je n'en ai jamais eu aucune trace dans mes logs... As-tu un log qui montre cette réponse http de valeur 429? je serais intéressé par un log qui le met en evidence... Last edited by lrpirlet; 05-26-2023 at 06:27 AM. Reason: parti trop tôt |
|
05-30-2023, 12:17 PM | #62 |
Connoisseur
Posts: 93
Karma: 40
Join Date: Mar 2020
Location: Belgium (sorry, I am from the Walloon side of the country and I speak french only)
Device: PW3, Kobo Libra H2O
|
Babelio_db rapporte (en option) les vote et les notes
Je viens de modifier babelio_db afin qu'il rapporte le nombre de votes et la moyenne de ces votes.
J'ai titré cette section "Popularité". Elle dit (par exemple) : "Le nombre de cotations est 37 , avec une note moyenne de 3.64 sur 5". Je présume que le maximum est toujours 5. Bien entendu, cette section peut ne pas être vue si on ne la veut pas, car ça peut évoluer. Pensez à la valider ou l'invalider dans sa configuration. Ceci en vue de participer à la modification de Babelio Notes, qui probablement se servira de l'identifiant de babelio_db (babelio_id). Avant que l'on me pose la question, NON il n'est pas possible de modifier une colonne personnalisée (qui commence par #) à partir d'un "metadata source plugin"... Et croyez-moi, j'ai essayé, mais je pense qu'il faudrait modifier calibre en profondeur... sans le casser... et avec l'accord des auteurs de calibre. En bref, je n'ai ni le temps, ni même la motivation: c'est trop pour moi. Seul l'approche prise par babelio notes est envisageable. |
06-20-2023, 04:36 AM | #63 |
Connoisseur
Posts: 93
Karma: 40
Join Date: Mar 2020
Location: Belgium (sorry, I am from the Walloon side of the country and I speak french only)
Device: PW3, Kobo Libra H2O
|
Le créateur de Babelio Notes, lktr45, et moi avons échangé à propos de son plugin.
Finalement, lktr45, a exprimé le désir de s'eloigner de la maintenance de ce programme. J'ai donc repris le flambeau et ai modifié le plugin quelque peu. Je vais ouvrir un nouveau topic pour couvrir en plus de détails la version 5.0.0 de Babelio Notes. En attendant je soumet ici un fichier .zip pour test. J'apprecierai tous les retours. Si vous voulez le tester, téléchargez le .zip, décomprimez le dans un directory, lisez le babelio_notes_doc.html pour l'installer... voir ici sur mobileread Last edited by lrpirlet; 06-20-2023 at 07:51 AM. |
10-07-2023, 09:33 AM | #64 |
Member
Posts: 12
Karma: 10
Join Date: Oct 2023
Device: Kobo Libra 2
|
merci beaucoup pour l'ajout de la cotation et la moyenne des note et pour cette extension de Babelio_db dont je préférè à Amazon pour les métadonnées .
Du coup j'ai créé une nouvelle colonne et je copie/colle les données de la cotation et de la moyenne ^^ |
10-10-2023, 05:10 AM | #65 |
Zealot
Posts: 130
Karma: 10280
Join Date: Oct 2016
Device: none
|
Bonjour Djazzy,
Vous n'avez pas besoin de copier/coller la cotation et la moyenne de notes : utilisez plutôt le plugin Babelio Notes ici Concernant votre demande de sélection des étiquettes ici Je ne sais pas s'il est possible de ne conserver que les étiquettes en gras, mais peut-être que ceci vous conviendra : Configurer le téléchargement Cocher : Préférer moins d'étiquettes Clic sur Créer des règles pour transformer les étiquettes/auteurs/éditeurs sélectionner Étiquettes Clic sur Ajouter une règle Supprimer l'étiquette si elle n'est pas une de : mettre les étiquettes que vous souhaitez garder séparées par une virgule. Par ex : Supprimer l'étiquette si elle n'est pas une de : romans policiers et polars, humour noir |
10-12-2023, 06:42 AM | #66 | |
Member
Posts: 12
Karma: 10
Join Date: Oct 2023
Device: Kobo Libra 2
|
Quote:
Bon j'ai un problème maintenant du fait que babelio_db ne fonctionne plus comme avant, c'est à dire qu'il ne me trouve plus aucun livre sur Babelio.com si je ne met pas préalablement le babelio-id dans les métadonnées. Ayant encore plus de 1.000 livres à ajouter dans ma bibliothèque Calibre, je me vois mal faire ça manuellement pour chaque livre peut-être que le problème se règlera tout seul de la même façon qu'il est venu sans raison ^^ je vais être patient |
|
10-13-2023, 07:23 AM | #67 | |
Connoisseur
Posts: 93
Karma: 40
Join Date: Mar 2020
Location: Belgium (sorry, I am from the Walloon side of the country and I speak french only)
Device: PW3, Kobo Libra H2O
|
Quote:
|
|
10-26-2023, 09:09 AM | #68 | |
Junior Member
Posts: 5
Karma: 10
Join Date: Oct 2023
Device: Kobo Libra H2O
|
Quote:
J'ai le même souci et j'essaye de comprendre. Il y a peu, tout fonctionnait encore correctement mais j'ai fait une boulette (bibliothèque calibre stockée sur une clef usb qui s'est avérée défectueuse) et j'ai plein de bouquins à réencoder correctement. Bref. Juste qu'il y a peu donc, je pouvais encore télécharger les données en me basant sur le titre et le nom d'auteur. Si je comprends bien, le pluging babelio_db allait chercher l'id, et babelio_notes allait chercher le reste en se basant sur l'id ? En tous cas, ça fonctionnait, et plus maintenant, alors que je n'avais fait aucune mise à jour. Du coup, j'ai mis à jour tout ce que j'ai pu, ça n'a rien changé. Est-ce que j'ai (ainsi que la réponse que je cite) un souci au niveau des plugins, ou devons-nous faire le deuil d'un téléchargement de métadonnées pour plein de livres d'un coup ? Faut-il tout faire à la main, en cherchant nous-mêmes le livre sur babelio, en copiant/collant l'URL et en utilisant le bouton de presse-papier sur la fiche de l'ouvrage dans calibre ? Ça semble... fastidieux. Quoi qu'il en soit, merci pour tout. |
|
10-26-2023, 09:41 AM | #69 |
Junior Member
Posts: 5
Karma: 10
Join Date: Oct 2023
Device: Kobo Libra H2O
|
Ok, oubliez ça, je vois que le problème est déjà en cours de traitement ici...
https://www.mobileread.com/forums/sh...elio_db&page=2 |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Must Have Tools Extensions? | elbarto0 | Kindle Developer's Corner | 3 | 10-03-2016 05:57 PM |
extensions.cfg who can explain it | Skeeve | PocketBook | 2 | 02-20-2015 01:57 AM |
links and extensions | Iain | ePub | 3 | 10-13-2010 01:46 AM |
Same book name, different extensions | Ununoctien | Bookeen | 3 | 12-13-2007 08:19 AM |
Firefox Extensions Best Of | TadW | Lounge | 9 | 12-17-2004 02:58 PM |