![]() |
#16 |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
That definitely strikes me as a policy that makes sense for a forum, but, when applied to a forum-qua-software-distribution-site, it's just a hoop I have to jump through to be able to edit my own code... and for what? It's not like I'm getting anything out of sharing the code I wrote for myself besides some minor sense of satisfaction out of contributing back to the Calibre community in a small way.
I am sure I am not the only one to run into this and other potential plugin devs have silently given up, thus depriving the user base of their work. Beware Trivial Inconveniences |
![]() |
![]() |
![]() |
#17 | |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
Quote:
Last edited by BetterRed; 08-31-2025 at 09:38 PM. Reason: Remove attachment - moved to first post |
|
![]() |
![]() |
Advert | |
|
![]() |
#18 | |
null operator (he/him)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 21,996
Karma: 30277294
Join Date: Mar 2012
Location: Sydney Australia
Device: none
|
Quote:
BR Last edited by BetterRed; 08-31-2025 at 09:43 PM. |
|
![]() |
![]() |
![]() |
#19 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 57
Karma: 1231814
Join Date: Nov 2017
Device: Kobo Libra Colour, Kindle Voyage(s)
|
The updated plugin version works for me, thank you.
|
![]() |
![]() |
![]() |
#20 |
Junior Member
![]() Posts: 1
Karma: 10
Join Date: Jan 2025
Device: MKindle
|
This is one of my favorite plugins, thanks for building it @ARR8. It was working like a dream until Monday of this week (10/6/25). It stopped fetching all metadata and I tried everything I could think of to reset it. I took a look at the logs today, and this is what I see. I'm still learning to code so I am having trouble reading it all, but the bottom has a 403 forbidden error, which I do understand I'm wondering if Storygraph cracked down on their security? Is this happening to anyone else? Is there anything else in the error log that shows something I need to change? I gotta get my fav back
![]() Found 0 results Downloading from StoryGraph took 1.0549993515014648 Using query URL: https://app.thestorygraph.com/browse...0Scott%20Lynch Failed to make identify query: 'https://app.thestorygraph.com/browse?search_term=Lies%20of%20Locke%20Lamora%20Sc ott%20Lynch' Traceback (most recent call last): File "calibre_plugins.dummy2.__init__", line 338, in identify File "mechanize\_mechanize.py", line 257, in open File "mechanize\_mechanize.py", line 313, in _mech_open mechanize._response.get_seek_wrapper_class..httper ror_seek_wrapper: HTTP Error 403: Forbidden |
![]() |
![]() |
Advert | |
|
![]() |
#21 |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
Thanks for the kind words. Yes, it looks like Storygraph reenabled Cloudflare's automated request prevention, which unfortunately will entirely prevent the plugin from working. The last time they enabled it, they said to me that it was a temporary measure because they were getting DDoSed. I don't know if they're enabling it temporarily again or have switched to using it in a more permanent posture. If the latter, we'll have to wait for them to release the API, which I would rewrite the plugin to use. Either way, looks like a wait-and-see situation.
|
![]() |
![]() |
![]() |
#22 | |
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,598
Karma: 150249619
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
Quote:
|
|
![]() |
![]() |
![]() |
#23 |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
Good suggestion, thank you. I've tried refactoring the plugin to use the same module. Unfortunately, it doesn't work. My guess is that the module can handle the protection level used by Kobo but the StoryGraph is using a higher one beyond its capabilities. On the plus side, that indicates to me that this is more likely to be a temporary measure. I'll keep this version and periodically check to see if they lower their protection level to one more like Kobo's, though, and will upload if so.
|
![]() |
![]() |
![]() |
#24 |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
Looks like that day is today. Uploaded a new version using the cloudscraper module.
|
![]() |
![]() |
![]() |
#25 | |
Resident Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 80,598
Karma: 150249619
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
Quote:
The 2.0.0 version is not working. Code:
****************************** StoryGraph (2, 0, 0) ****************************** Found 0 results Downloading from StoryGraph took 0.09256124496459961 Using query URL: https://app.thestorygraph.com/browse?search_term=9780593653265 Failed to make identify query: 'https://app.thestorygraph.com/browse?search_term=9780593653265' Traceback (most recent call last): File "calibre_plugins.storygraph.storygraph", line 300, in identify File "calibre_plugins.storygraph.storygraph", line 226, in _get_webpage File "calibre_plugins.storygraph.storygraph", line 211, in session File "C:\Users\jswol\AppData\Roaming\calibre\plugins\Kobo Metadata.zip\cloudscraper\__init__.py", line 319, in create_scraper File "C:\Users\jswol\AppData\Roaming\calibre\plugins\Kobo Metadata.zip\cloudscraper\__init__.py", line 152, in __init__ TypeError: Session.__init__() got an unexpected keyword argument 'auto_refresh_on_403' Last edited by JSWolf; Yesterday at 05:43 PM. |
|
![]() |
![]() |
![]() |
#26 |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,678
Karma: 79983758
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
|
@jswolf ; Out of curiousity, what happens if you either disable or uninistall the Kobo Metadata plugin? Both of them contain a copy of the cloudscape module....
|
![]() |
![]() |
![]() |
#27 |
Member
![]() Posts: 18
Karma: 20
Join Date: Aug 2025
Device: PocketBook Verse Pro
|
Yes, this is interesting. Tl;dr: I'll upload a fix. Some technical details follow.
The log suggests that the outdated version of the cloudscraper module integrated with Kobo Metadata is interfering with the one I've packaged. I don't get the error when testing locally without Kobo Metadata installed and in fact can reproduce it if I do install Kobo Metadata. Calibre does implement a sort of isolated namespacing for plugin imports, but both plugins concerned bypass it because it breaks packaged modules' importing their own dependencies (this was by far the trickiest part of the 2.0 update). That's the immediate source of the issue. It looks like the way Calibre loads plugins is deterministic and alphabetical. If I rename my plugin to come before Kobo, it loads the newer version and works perfectly. However, the option I've specified, auto_refresh_on_403, is necessary when using the newer version with Calibre and Kobo Metadata not specifying it means that it hangs instead of returning on failure. The quickest fix for this is for me to rename my copy of the module, which will fix the immediate issue, and which I will do shortly. However, both the Kobo plugin and mine include second-order dependencies which would be nontrivial to rename and apparently have become a time bomb if either of us update one to an incompatible version, though they seem to be working together fine for now. The long-term fix would have to be on the Calibre side. Bypassing its namespacing is the only way to make the modules work, short of running a script to rewrite all imports, but that doesn't have to be the case. I can understand that this isn't high-priority, though. There's a medium-term fix where all plugin developers using this import method make an effort to keep library versions in sync, but I don't regard that as a serious option. |
![]() |
![]() |
![]() |
Tags |
calibre, metadata, mood, pace, storygraph |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Metadata Source Plugin] Show multiple results for single source? | memory_dump | Plugins | 7 | 10-09-2025 01:50 AM |
[Metadata Source Plugin] Kobo Metadata | NotSimone | Plugins | 181 | 08-15-2025 11:44 PM |
How do I know which Metadata Source Plugin was called from fetch-ebook-metadata? | eryMpexI | Library Management | 6 | 04-22-2023 08:58 AM |
Read a book's metadata in a Metadata source plugin? | J-H | Development | 2 | 03-30-2021 09:08 AM |
[Metadata Source Plugin] Empty Plugin? (Fake Identifier) | mneimeyer | Plugins | 3 | 11-11-2019 08:07 PM |