Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 10-31-2026, 12:22 AM   #12676
applegaa
Connoisseur
applegaa has learned how to buy an e-book online
 
applegaa's Avatar
 
Posts: 99
Karma: 76
Join Date: Apr 2019
Device: none
Quote:
Originally Posted by JimmXinu View Post
I can duplicate.

Probably got broken by either the new chapter metadata saving or preserve deleted chapters changes.

I'll look into it.
Thanks!

It's happening with ScribbleHub as well. I'm not sure if the problem is in each adapter or something shared they each call, so wanted to mention it.
applegaa is offline   Reply With Quote
Old 10-31-2026, 11:20 AM   #12677
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
New Test Version Posted

2026-10-31
- Fix continue_on_chapter_error with fff_chapter_data
- Update translations
JimmXinu is offline   Reply With Quote
Old 10-31-2026, 02:18 PM   #12678
Atherton25
Zealot
Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.
 
Posts: 139
Karma: 3804
Join Date: May 2016
Device: Elipsa 2E, Libra Colour
Found a new minor bug in the camoufox usage. It’s not a huge deal, but stumped me for a few minutes. When I started it, it gave me a login prompt and would NOT let me log in. I even changed my password to their new standards (apparently that had changed since I originally made the account) and tried it with the new password.

I know that Royal Road doesn’t require login, but I was using it. Once I disabled my login the prompt no longer popped up, and camoufox seemed to work actually getting to the fic download.

Personally, I don’t mind, I was just using the login to track story reading progress (or at least downloaded story progress) but it tries to logon first, and since that’s not working, it blocks download if login is enabled. I’m sure it’ll pop up elsewhere that it’s ‘not working’ when it has something to do with the login not being allowed, and then the story won’t download.

Don’t know if you want to disabled the login when using camoufox or look into it directly and allow logins to work, but thought I’d let you know.
Atherton25 is offline   Reply With Quote
Old 10-31-2026, 02:36 PM   #12679
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by Atherton25 View Post
Found a new minor bug in the camoufox usage. It’s not a huge deal, but stumped me for a few minutes. When I started it, it gave me a login prompt and would NOT let me log in. I even changed my password to their new standards (apparently that had changed since I originally made the account) and tried it with the new password.
...
I'm not seeing that.

I comment out username/password, no login attempt, downloads story.

I uncomment username/password, login succeeds, downloads story.

I'm using normal foreground metadata collection from story URLs.
JimmXinu is offline   Reply With Quote
Old 10-31-2026, 05:24 PM   #12680
Atherton25
Zealot
Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.
 
Posts: 139
Karma: 3804
Join Date: May 2016
Device: Elipsa 2E, Libra Colour
When you said you had no issues, I installed Calibre on my laptop (recently reinstalled linux on the laptop, and hadn’t loaded calibre at all) as well as loaded the latest version of FFF. So, completely fresh install. I am using Linux, Ubuntu 26.10 on both my desktop and laptop.

I brought over some of my settings for RoyalRoad, and tried it.

First install timed out, I presume because it was installing camoufox, the next one asked for username/password (I did make sure it was correct in settings). I tried it and it didn’t like them (same as my previous tries on my desktop), tried three times and it didn’t let me in.

Yes, using email and current password (double checked with manual login in the website).

Commented out my user/pass in settings and it worked fine. Well, it took a little while for 162 chapters of the fix I was trying https://www.royalroad.com/fiction/158801/ – but that’s no problem for me.

The current settings I am using are simple (I removed user/pass)

Code:
[www.royalroad.com]
 use_browser_cache:false
 use_camoufox:true
 use_camoufox:directimages
 include_author_notes:false
 replace_br_with_p: true

Last edited by Atherton25; 10-31-2026 at 05:29 PM.
Atherton25 is offline   Reply With Quote
Old 10-31-2026, 06:19 PM   #12681
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by Atherton25 View Post
When you said you had no issues, I installed Calibre on my laptop (recently reinstalled linux on the laptop, and hadn’t loaded calibre at all) as well as loaded the latest version of FFF. So, completely fresh install. I am using Linux, Ubuntu 26.10 on both my desktop and laptop.
...
If it consistently and only blocks you from logging in, I can't think what it would be other than something specific to your account. (I assume you are already using your email address as username for RR since that change was quite some time ago.)

I have seen with RR and other sites sometimes that if you access the site manually in browser first it will satisfy cloudflare or whatever and then FFF will work.

I can try the attached version that turns Camoufox 'warmup' back on. It adds ~20sec to the first fetch to 'warmup' by getting some small number of random common public pages first.

It never made any difference for me but to take more time. If it helps you, I will add an optional setting for it.
Attached Files
File Type: zip FanFicFare.zip (1.79 MB, 23 views)

Last edited by JimmXinu; 10-31-2026 at 06:20 PM. Reason: Attach the zip file
JimmXinu is offline   Reply With Quote
Old 10-31-2026, 06:33 PM   #12682
Atherton25
Zealot
Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.
 
Posts: 139
Karma: 3804
Join Date: May 2016
Device: Elipsa 2E, Libra Colour
That seems to have done it.

I'm not sure why it would matter because of where I am. I didn't mention it, but I also was logging in from work with my laptop. I can almost guarantee no one here is using/abusing Royal Road since it's a prison. I hit the site a couple times before and after my initial tries to download from here, and never had any sort of captcha/cloudflareprompts pop up, so it's just odd to me that it would need the warm up.

I'll remote in to my home computer and try it too,

Last edited by Atherton25; 10-31-2026 at 06:49 PM.
Atherton25 is offline   Reply With Quote
Old 10-31-2026, 06:48 PM   #12683
Atherton25
Zealot
Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.Atherton25 can teach chickens to fly.
 
Posts: 139
Karma: 3804
Join Date: May 2016
Device: Elipsa 2E, Libra Colour
Well, It doesn't work at home with that new update. That's so strange.

Don't worry about it, you've already spent too much time on it, for something that doesn't effect me more than peripherally I don't use the log in other than for tracking from my account when I'm reading on my phone/tablet - which is quite rare, I generally put it in Calibre and read it on an ereader. I'll just turn off the login function. I may create a new account and just test it to see if it's my account, my IP (which would be odd since it didn't work the first couple times at work) or something else.

I checked home and I'm not running any VPN today, as that has occasionally caused me problems when Cloudflare is involved. I also did log in on a browser before tried it too, just to be sure.

It just is odd to me that it only happens when logging in. Well, if it does come up with someone else then you'll know they're not the first.

Last edited by Atherton25; 10-31-2026 at 06:51 PM.
Atherton25 is offline   Reply With Quote
Old 10-31-2026, 07:24 PM   #12684
applegaa
Connoisseur
applegaa has learned how to buy an e-book online
 
applegaa's Avatar
 
Posts: 99
Karma: 76
Join Date: Apr 2019
Device: none
Quote:
Originally Posted by Atherton25 View Post
That seems to have done it.

I'm not sure why it would matter because of where I am. I didn't mention it, but I also was logging in from work with my laptop. I can almost guarantee no one here is using/abusing Royal Road since it's a prison. I hit the site a couple times before and after my initial tries to download from here, and never had any sort of captcha/cloudflareprompts pop up, so it's just odd to me that it would need the warm up.

I'll remote in to my home computer and try it too,
CloudFlare tends to use a 302 temporary redirect to their verification page, which works by utilizing the lack of security in modern browsers to do things like monitor mouse movement. My computer is slow enough that I can see the page before it redirects back to the original URL, but it typically doesn't stop and wait for me to actually do anything.

It also messes with the reload button, as it now has stuff from the verification page that I get prompted to resend. I would guess that is what the warm up clears out.

I'll probably test it tonight when I do my regular updates.
applegaa is offline   Reply With Quote
Old 10-31-2026, 08:16 PM   #12685
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
New Test Version Posted

2026-10-31
- Add do_camoufox_warmup optional feature
- Fix continue_on_chapter_error with fff_chapter_data
- Update translations

Code:
## Camoufox (https://camoufox.com) is "An open source anti-detect
## browser built for AI agents."  Calibre(v9.16+) uses it for news
## feed recipes which FFF can also use.  Originally introduced for
## royalroad proof-of-work blocking, it also works with fanfiction.net
## and (possibly) AO3.  Can be set to 'true' or 'directimages' to
## directly download images.  That seems to work better with
## royalroad.
#use_camoufox:false

## Set do_camoufox_warmup:true to 'warmup' Camoufox on start (fetches
## common pages from a few common public sites).  Adds 15-30 seconds
## to first Camoufox fetch.  Because FanFicFare uses a singleton
## pattern to insure only one Camoufox instance runs per process, the
## first fetch to use Camoufox will determine if warmup is done or
## not.  If you need warmup, it will be most reliable to set it in
## [defaults] to apply to all sites you have use_camoufox:true.
#do_camoufox_warmup:false

## Camoufox Examples:
#[defaults]
#do_camoufox_warmup:true
#[www.royalroad.com]
#use_camoufox:directimages
#[www.fanfiction.net]
#use_camoufox:true
JimmXinu is offline   Reply With Quote
Old 10-31-2026, 08:21 PM   #12686
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by Atherton25 View Post
Well, It doesn't work at home with that new update. That's so strange.
I didn't see this until I'd already added the feature. But it was pretty small anyway.

I'm pushing the monthly release back until Monday at least, since we're still getting weird reports like this.
JimmXinu is offline   Reply With Quote
Old Yesterday, 03:07 PM   #12687
unclebob
Junior Member
unclebob began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Nov 2026
Device: kindle paperwhite 2024
Error 302

I have had a lot of issues with error 302s ('HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140') trying to update more than 9 stories. This has been the case since the first camoufox version I tried.
I tried increase slow_down_sleep_time to 10 but it doesn't seem to have change anything. I even tried setting it to 15 but the results were inconclusive.

Attaching the entire download log of all 11 stories where the 2 have failed. This was me updating stories after about a week of downtime. When I tried to download 6 new stories, about 4 succeeded and 2 failed with error 302. In all cases restarting it worked normally. This was with the default slow_down_sleep_time=5.

Spoiler:

Download 11 FanFiction Book(s) for www.royalroad.com
FFF: INFO: 2026-10-28 15:58:50,310: calibre_plugins.fanficfare_plugin.jobs(36): FanFicFare v4.62.27
calibre 9.17 embedded-python: True
Windows-11-10.0.26300-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '11', '10.0.26300')
Python 3.14.8
Windows: ('11', '10.0.26300', 'SP0', 'Multiprocessor Free')
Interface language: None
EXE path: C:\Program Files\Calibre2\calibre-parallel.exe
Successfully initialized third party plugins: KFX Output (2, 22, 0) && Count Pages (1, 15, 3) && FanFicFare (4, 62, 27) && Hyphenate This! (0, 1, 4) && Set KFX metadata (from KFX Output) (2, 22, 0) && Kobo Utilities (2, 29, 0) && Reading List (1, 15, 9) && SmartEject (2, 7, 0) && kfxgen (5, 7, 2)
FFF: INFO: 2026-10-28 15:58:50,487: calibre_plugins.fanficfare_plugin.jobs(68):

Downloading FanFiction Stories
Add https://www.royalroad.com/fiction/167958
Add https://www.royalroad.com/fiction/157609
Add https://www.royalroad.com/fiction/115429
Add https://www.royalroad.com/fiction/164140
Add https://www.royalroad.com/fiction/67599
Add https://www.royalroad.com/fiction/188834
Add https://www.royalroad.com/fiction/86047
Add https://www.royalroad.com/fiction/183246
Add https://www.royalroad.com/fiction/188968
Add https://www.royalroad.com/fiction/141169
Add https://www.royalroad.com/fiction/144199

FFF: INFO: 2026-10-28 15:58:51,234: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/167958
FFF: DEBUG: 2026-10-28 15:58:51,234: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 15:58:51,242: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 15:58:51,242: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 15:58:51,242: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 15:58:51,242: camoufoxbrowser.py(46): Initializing camoufox singlton browser
FFF: DEBUG: 2026-10-28 15:58:51,257: camoufoxbrowser.py(61): cloning camoufox singlton browser
Camoufox ready in 1.5 seconds
FFF: DEBUG: 2026-10-28 15:58:52,934: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/167958
FFF: DEBUG: 2026-10-28 15:58:52,935: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/167958
FFF: DEBUG: 2026-10-28 15:58:52,935: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/167958
FFF: DEBUG: 2026-10-28 15:58:57,780: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:58:57,787: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:58:57,787: decorators.py(129): random sleep(2.50-7.50):3.92
FFF: DEBUG: 2026-10-28 15:59:01,706: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 15:59:01,856: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 15:59:01,881: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/16...ime=1778794910)
FFF: DEBUG: 2026-10-28 15:59:01,882: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/167958,url=https://www.royalroadcdn.com/public/covers-large/a-new-star-aabar6ez3rg.jpg?time=1778794910,cover=specific,cov erexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 15:59:01,882: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1778794910
FFF: DEBUG: 2026-10-28 15:59:01,882: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1778794910
FFF: DEBUG: 2026-10-28 15:59:02,121: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:02,127: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:02,127: decorators.py(129): random sleep(2.50-7.50):3.15
FFF: DEBUG: 2026-10-28 15:59:05,285: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1778794910
FFF: DEBUG: 2026-10-28 15:59:05,985: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='already_contains'
FFF: INFO: 2026-10-28 15:59:05,987: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/157609
FFF: DEBUG: 2026-10-28 15:59:05,987: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 15:59:05,993: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 15:59:05,994: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 15:59:05,994: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 15:59:05,994: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 15:59:06,104: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/157609
FFF: DEBUG: 2026-10-28 15:59:06,104: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/157609
FFF: DEBUG: 2026-10-28 15:59:06,104: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/157609
FFF: DEBUG: 2026-10-28 15:59:07,990: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:08,002: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:08,002: decorators.py(129): random sleep(2.50-7.50):7.10
FFF: DEBUG: 2026-10-28 15:59:15,098: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 15:59:15,248: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 15:59:15,265: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/15...ime=1780401790)
FFF: DEBUG: 2026-10-28 15:59:15,265: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/157609,url=https://www.royalroadcdn.com/public/covers-large/157609-volume-1-stubbing-end-of-may-fri-may-29th.jpg?time=1780401790,cover=specific,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 15:59:15,266: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1780401790
FFF: DEBUG: 2026-10-28 15:59:15,266: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1780401790
FFF: DEBUG: 2026-10-28 15:59:15,395: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:15,401: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:15,401: decorators.py(129): random sleep(2.50-7.50):3.56
FFF: DEBUG: 2026-10-28 15:59:18,963: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1780401790
FFF: DEBUG: 2026-10-28 15:59:19,589: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 15:59:19,590: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(51) vs url(54)
FFF: DEBUG: 2026-10-28 15:59:19,946: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/15...68/chapter-173
FFF: DEBUG: 2026-10-28 15:59:19,946: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/15...68/chapter-173
FFF: DEBUG: 2026-10-28 15:59:19,946: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/15...68/chapter-173
FFF: DEBUG: 2026-10-28 15:59:21,550: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:21,555: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:21,555: decorators.py(129): random sleep(2.50-7.50):3.32
FFF: DEBUG: 2026-10-28 15:59:24,875: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 15:59:24,969: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/15...85/chapter-174
FFF: DEBUG: 2026-10-28 15:59:24,969: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/15...85/chapter-174
FFF: DEBUG: 2026-10-28 15:59:24,969: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/15...85/chapter-174
FFF: DEBUG: 2026-10-28 15:59:26,079: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:26,096: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:26,096: decorators.py(129): random sleep(2.50-7.50):5.02
FFF: DEBUG: 2026-10-28 15:59:31,117: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 15:59:31,198: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 15:59:31,261: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/15...66/chapter-175
FFF: DEBUG: 2026-10-28 15:59:31,262: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/15...66/chapter-175
FFF: DEBUG: 2026-10-28 15:59:31,262: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/15...66/chapter-175
FFF: DEBUG: 2026-10-28 15:59:33,001: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:33,006: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:33,006: decorators.py(129): random sleep(2.50-7.50):3.38
FFF: DEBUG: 2026-10-28 15:59:36,391: requestable.py(54): Encoding:utf8
FFF: INFO: 2026-10-28 15:59:36,458: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=54 old_urls=51 new_urls=3
FFF: INFO: 2026-10-28 15:59:36,458: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-t68y0bpw.epub
FFF: INFO: 2026-10-28 15:59:36,459: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-t68y0bpw.epub
FFF: INFO: 2026-10-28 15:59:36,460: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 15:59:37,171: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:90870
FFF: INFO: 2026-10-28 15:59:37,172: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-t68y0bpw.epub
FFF: INFO: 2026-10-28 15:59:37,173: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 15:59:37,445: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/115429
FFF: DEBUG: 2026-10-28 15:59:37,446: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 15:59:37,452: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 15:59:37,452: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 15:59:37,452: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 15:59:37,452: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 15:59:37,554: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/115429
FFF: DEBUG: 2026-10-28 15:59:37,555: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/115429
FFF: DEBUG: 2026-10-28 15:59:37,555: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/115429
FFF: DEBUG: 2026-10-28 15:59:39,680: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:39,685: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:39,685: decorators.py(129): random sleep(2.50-7.50):6.88
FFF: DEBUG: 2026-10-28 15:59:46,562: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 15:59:46,740: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 15:59:46,759: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/11...ime=1791966276)
FFF: DEBUG: 2026-10-28 15:59:46,759: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/115429,url=https://www.royalroadcdn.com/public/covers-large/115429-in-space-with-a-junkyard-ship.jpg?time=1791966276,cover=specific,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 15:59:46,760: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1791966276
FFF: DEBUG: 2026-10-28 15:59:46,760: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1791966276
FFF: DEBUG: 2026-10-28 15:59:46,877: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:46,883: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:46,883: decorators.py(129): random sleep(2.50-7.50):5.91
FFF: DEBUG: 2026-10-28 15:59:52,792: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1791966276
FFF: DEBUG: 2026-10-28 15:59:52,988: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 15:59:52,988: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(18) vs url(19)
FFF: DEBUG: 2026-10-28 15:59:53,080: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/172321763/b18980995a8a485d93802c634793d014/eyJhIjoxLCJ3Ijo4MjB9/1.jpg?token-hash=VmrzD0VfBWZ3RVkWi093YrqW_GdCr9vX4ep3TZ3_gGc%3 D&token-time=1793664000,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 15:59:53,080: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/172321763/b18980995a8a485d93802c634793d014/eyJhIjoxLCJ3Ijo4MjB9/1.jpg?token-hash=VmrzD0VfBWZ3RVkWi093YrqW_GdCr9vX4ep3TZ3_gGc%3 D&token-time=1793664000->images/ffdl-0e4ce4c7-9c38-599d-a41e-268bf80c6d3a.jpg(https://c10.patreonusercontent.com/4...ime=1793664000)
FFF: DEBUG: 2026-10-28 15:59:53,096: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/11...43/chapter-212
FFF: DEBUG: 2026-10-28 15:59:53,096: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/11...43/chapter-212
FFF: DEBUG: 2026-10-28 15:59:53,097: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/11...43/chapter-212
FFF: DEBUG: 2026-10-28 15:59:54,322: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 15:59:54,327: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 15:59:54,327: decorators.py(129): random sleep(2.50-7.50):2.91
FFF: DEBUG: 2026-10-28 15:59:57,236: requestable.py(54): Encoding:utf8
FFF: INFO: 2026-10-28 15:59:57,336: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=1 written=19 old_urls=18 new_urls=1
FFF: INFO: 2026-10-28 15:59:57,336: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-trd9nl8l.epub
FFF: INFO: 2026-10-28 15:59:57,337: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-trd9nl8l.epub
FFF: INFO: 2026-10-28 15:59:57,339: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 15:59:57,877: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:45811
FFF: INFO: 2026-10-28 15:59:57,878: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-trd9nl8l.epub
FFF: INFO: 2026-10-28 15:59:57,879: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 15:59:58,025: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/164140
FFF: DEBUG: 2026-10-28 15:59:58,025: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 15:59:58,033: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 15:59:58,033: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 15:59:58,033: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 15:59:58,034: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 15:59:58,182: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/164140
FFF: DEBUG: 2026-10-28 15:59:58,183: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/164140
FFF: DEBUG: 2026-10-28 15:59:58,183: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/164140
FFF: INFO: 2026-10-28 16:00:00,192: calibre_plugins.fanficfare_plugin.jobs(449): Exception: {'title': 'Instead of Becoming an Adventurer, I Chose to Fish', 'author_sort': 'apinsig', 'author': ['apinsig'], 'comments': '', 'good': False, 'status': 'Error', 'showerror': True, 'calibre_id': 5767, 'begin': None, 'end': None, 'comment': "HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140'", 'url': 'https://www.royalroad.com/fiction/164140', 'site': 'www.royalroad.com', 'series': '', 'added': False, 'pubdate': None, 'publisher': 'www.royalroad.com', 'listorder': 5, 'collision': 'Update EPUB if New Chapters', 'uniqueurl': 'https://www.royalroad.com/fiction/164140[None-None]', 'is_adult': False, 'username': 'NoneGiven', 'password': '', 'totp': None, 'icon': 'dialog_error.png', 'epub_for_update': 'C:\\Users\\Dima\\AppData\\Local\\Temp\\calibre-vrlhzjte\\fanficfare_xvwdftfy\\old-5767-w1adtxyn.epub', 'calibre_columns': {'calibre_std_publisher': {'val': 'www.royalroad.com', 'label': 'Publisher'}, 'calibre_std_uuid': {'val': '67ed9e77-2fef-4a64-a2b6-3d213ed3e7b1', 'label': 'None'}, 'calibre_std_authors': {'val': 'apinsig', 'label': 'Authors'}, 'calibre_std_rating': {'val': '', 'label': 'Rating'}, 'calibre_std_languages': {'val': 'eng', 'label': 'Languages'}, 'calibre_std_cover_data': {'val': '(None, None)', 'label': 'cover_data'}, 'calibre_std_identifiers': {'val': 'url:https://www.royalroad.com/fiction/164140', 'label': 'Identifiers'}, 'calibre_std_pubdate': {'val': 'Apr 2026', 'label': 'Published'}, 'calibre_std_timestamp': {'val': '10 Oct 2026', 'label': 'Date'}, 'calibre_std_last_modified': {'val': '10 Oct 2026', 'label': 'Modified'}, 'calibre_std_link_maps': {'val': "{'authors': {'apinsig': 'https://www.royalroad.com/user/profile/108767'}}", 'label': 'link_maps'}, 'calibre_std_application_id': {'val': '5767', 'label': 'application_id'}, 'calibre_std_series': {'val': '', 'label': 'Series'}, 'calibre_std_formats': {'val': 'EPUB', 'label': 'Formats'}, 'calibre_std_author_sort': {'val': 'apinsig', 'label': 'Author sort'}, 'calibre_std_pages': {'val': '258', 'label': 'Pages'}, 'calibre_std_author_sort_map': {'val': "{'apinsig': 'apinsig'}", 'label': 'author_sort_map'}, 'calibre_std_series_index': {'val': '', 'label': 'None'}, 'calibre_std_comments': {'val': '<div class="hidden-content">\n <p><strong>Earth did not end in a man-made disaster. It ended when mana flooded in, changing everything.</strong></p>\n<p>Ray Wilson was just a man running a small construction business, spending his free time on the thing he loved most, fishing. When the mana apocalypse came, that hobby was the only reason he survived the first hours.</p>\n<p>But Earth is no longer safe for humanity.</p>\n<p>As monsters are born, ecosystems twist, and the world itself begins to change, the Adventurers’ Guild arrives from beyond Earth. They came from a wider universe filled with magic, classes, and thousands of inhabited worlds. Rescued from the collapse of his home, Ray is thrown into a new reality where strength, skill, and survival are all tied to the System.</p>\n<p>Ray does not seek glory or overwhelming power. What he wants is freedom. A way to live that helps the people around him without drowning himself in blood. As he soon learns, such a path does exist.</p>\n<p>Yet nothing in this new reality comes without danger.</p>\n<p><strong>----</strong></p>\n<p><strong>What to expect:</strong></p>\n<p>-\xa0 Weak-to-strong progression</p>\n<p>-\xa0 Slice of life with real danger</p>\n<p>-\xa0 Fishing, crafting, and magical ecology</p>\n<p>-\xa0 Monster hunting and animal companions</p>\n<p>-\xa0 No harem</p>\n<p>-\xa0 A true LitRPG/Progression Fantasy</p>\n </div>', 'label': 'Comments'}, 'calibre_std_title_sort': {'val': 'Instead of Becoming an Adventurer, I Chose to Fish', 'label': 'Title sort'}, 'calibre_std_tags': {'val': 'Action, Adventure, Crafting, Fantasy, High Fantasy, In-Progress, LitRPG, Male Lead, Original, Portal Fantasy / Isekai, Progression, Slice of Life, Strong Lead', 'label': 'Tags'}, 'calibre_std_title': {'val': 'Instead of Becoming an Adventurer, I Chose to Fish', 'label': 'Title'}, 'calibre_cust_chapters': {'val': 32, 'label': 'Chptrs'}, 'calibre_cust_pages': {'val': 348, 'label': 'Pages'}, 'calibre_cust_words': {'val': 82801, 'label': 'Words'}}, 'outfile': 'C:\\Users\\Dima\\AppData\\Local\\Temp\\calibre-vrlhzjte\\fanficfare_xvwdftfy\\bgmeta-waev7x6j.epub'}:HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140'
Traceback (most recent call last):
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\fetcher_camoufox.p y", line 88, in request
File "calibre\web\automate\recipes.py", line 848, in open
File "calibre\web\automate\recipes.py", line 840, in _open
File "calibre\web\automate\recipes.py", line 707, in response_from_result
urllib.error.URLError: <urlopen error HTTP 302>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "calibre_plugins.fanficfare_plugin.jobs", line 199, in do_download_for_worker
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\base_adapter.py", line 657, in getStoryMetadataOnly
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\base_adapter.py", line 767, in doExtractChapterUrlsAndMetadata
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\adapter_royalroadc om.py", line 202, in extractChapterUrlsAndMetadata
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\requestable.py", line 128, in get_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\requestable.py", line 118, in get_request_redirected
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\base_fetcher.py", line 137, in get_request_redirected
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\decorators.py", line 160, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\cache_basic.py", line 112, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\decorators.py", line 107, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\base_fetcher.py", line 107, in do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\fetcher_camoufox.p y", line 124, in request
fanficfare.exceptions.HTTPErrorFFF: HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140'
FFF: INFO: 2026-10-28 16:00:00,194: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/67599
FFF: DEBUG: 2026-10-28 16:00:00,194: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:00:00,202: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:00:00,202: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:00:00,202: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:00:00,203: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:00:00,384: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/67599
FFF: DEBUG: 2026-10-28 16:00:00,384: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/67599
FFF: DEBUG: 2026-10-28 16:00:00,385: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/67599
FFF: DEBUG: 2026-10-28 16:00:01,649: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:01,654: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:01,655: decorators.py(129): random sleep(2.50-7.50):4.53
FFF: DEBUG: 2026-10-28 16:00:06,185: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:00:06,191: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:00:06,285: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:00:06,289: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:00:06,473: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:00:06,564: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/67...ime=1754055365)
FFF: DEBUG: 2026-10-28 16:00:06,564: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/67599,url=https://www.royalroadcdn.com/public/covers-large/67599-limitless-path.jpg?time=1754055365,cover=specific,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:00:06,565: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1754055365
FFF: DEBUG: 2026-10-28 16:00:06,565: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1754055365
FFF: DEBUG: 2026-10-28 16:00:06,648: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:06,654: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:06,654: decorators.py(129): random sleep(2.50-7.50):3.90
FFF: DEBUG: 2026-10-28 16:00:10,553: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1754055365
FFF: DEBUG: 2026-10-28 16:00:19,044: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 16:00:19,044: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(658) vs url(661)
FFF: DEBUG: 2026-10-28 16:00:22,784: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/67...hundred-ninety
FFF: DEBUG: 2026-10-28 16:00:22,784: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/67...hundred-ninety
FFF: DEBUG: 2026-10-28 16:00:22,784: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/67...hundred-ninety
FFF: DEBUG: 2026-10-28 16:00:24,053: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:24,058: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:24,059: decorators.py(129): random sleep(2.50-7.50):7.31
FFF: DEBUG: 2026-10-28 16:00:31,368: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:00:31,429: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/67...red-ninety-one
FFF: DEBUG: 2026-10-28 16:00:31,429: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/67...red-ninety-one
FFF: DEBUG: 2026-10-28 16:00:31,429: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/67...red-ninety-one
FFF: DEBUG: 2026-10-28 16:00:32,758: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:32,767: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:32,767: decorators.py(129): random sleep(2.50-7.50):3.17
FFF: DEBUG: 2026-10-28 16:00:35,937: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:00:36,015: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/67...red-ninety-two
FFF: DEBUG: 2026-10-28 16:00:36,015: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/67...red-ninety-two
FFF: DEBUG: 2026-10-28 16:00:36,015: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/67...red-ninety-two
FFF: DEBUG: 2026-10-28 16:00:36,932: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:36,958: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:36,958: decorators.py(129): random sleep(2.50-7.50):5.72
FFF: DEBUG: 2026-10-28 16:00:42,676: requestable.py(54): Encoding:utf8
FFF: INFO: 2026-10-28 16:00:42,750: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=661 old_urls=658 new_urls=3
FFF: INFO: 2026-10-28 16:00:42,751: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ecqgl15u.epub
FFF: INFO: 2026-10-28 16:00:42,751: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ecqgl15u.epub
FFF: INFO: 2026-10-28 16:00:42,753: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 16:00:47,962: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:1728495
FFF: INFO: 2026-10-28 16:00:47,964: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ecqgl15u.epub
FFF: INFO: 2026-10-28 16:00:47,966: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 16:00:51,497: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/188834
FFF: DEBUG: 2026-10-28 16:00:51,498: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:00:51,506: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:00:51,506: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:00:51,506: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:00:51,506: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:00:51,661: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/188834
FFF: DEBUG: 2026-10-28 16:00:51,662: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/188834
FFF: DEBUG: 2026-10-28 16:00:51,662: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/188834
FFF: DEBUG: 2026-10-28 16:00:53,571: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:00:53,578: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:00:53,578: decorators.py(129): random sleep(2.50-7.50):6.77
FFF: DEBUG: 2026-10-28 16:01:00,353: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:00,471: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:01:00,490: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/18...ime=1787784095)
FFF: DEBUG: 2026-10-28 16:01:00,490: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188834,url=https://www.royalroadcdn.com/public/covers-large/marvelous-martial-arts-a-marvel-story-aada1aemyxk.jpg?time=1787784095,cover=specific,cov erexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:00,490: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1787784095
FFF: DEBUG: 2026-10-28 16:01:00,490: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1787784095
FFF: DEBUG: 2026-10-28 16:01:00,609: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:00,614: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:00,614: decorators.py(129): random sleep(2.50-7.50):4.68
FFF: DEBUG: 2026-10-28 16:01:05,295: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1787784095
FFF: DEBUG: 2026-10-28 16:01:06,274: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 16:01:06,274: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(95) vs url(98)
FFF: DEBUG: 2026-10-28 16:01:06,804: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...96--avengers-2
FFF: DEBUG: 2026-10-28 16:01:06,804: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...96--avengers-2
FFF: DEBUG: 2026-10-28 16:01:06,804: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...96--avengers-2
FFF: DEBUG: 2026-10-28 16:01:08,115: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:08,121: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:08,121: decorators.py(129): random sleep(2.50-7.50):5.07
FFF: DEBUG: 2026-10-28 16:01:13,193: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:13,280: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...97--avengers-3
FFF: DEBUG: 2026-10-28 16:01:13,280: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...97--avengers-3
FFF: DEBUG: 2026-10-28 16:01:13,281: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...97--avengers-3
FFF: DEBUG: 2026-10-28 16:01:14,682: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:14,689: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:14,689: decorators.py(129): random sleep(2.50-7.50):3.27
FFF: DEBUG: 2026-10-28 16:01:17,962: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:18,050: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...98--avengers-4
FFF: DEBUG: 2026-10-28 16:01:18,050: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...98--avengers-4
FFF: DEBUG: 2026-10-28 16:01:18,050: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...98--avengers-4
FFF: DEBUG: 2026-10-28 16:01:18,959: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:18,968: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:18,968: decorators.py(129): random sleep(2.50-7.50):2.91
FFF: DEBUG: 2026-10-28 16:01:21,876: requestable.py(54): Encoding:utf8
FFF: INFO: 2026-10-28 16:01:21,965: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=98 old_urls=95 new_urls=3
FFF: INFO: 2026-10-28 16:01:21,965: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-9miuclyk.epub
FFF: INFO: 2026-10-28 16:01:21,966: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-9miuclyk.epub
FFF: INFO: 2026-10-28 16:01:21,968: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 16:01:23,038: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:164654
FFF: INFO: 2026-10-28 16:01:23,039: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-9miuclyk.epub
FFF: INFO: 2026-10-28 16:01:23,040: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 16:01:23,586: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/86047
FFF: DEBUG: 2026-10-28 16:01:23,586: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:01:23,595: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:01:23,596: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:01:23,596: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:01:23,596: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:01:23,781: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/86047
FFF: DEBUG: 2026-10-28 16:01:23,782: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/86047
FFF: DEBUG: 2026-10-28 16:01:23,782: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/86047
FFF: DEBUG: 2026-10-28 16:01:26,051: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:26,059: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:26,059: decorators.py(129): random sleep(2.50-7.50):3.49
FFF: DEBUG: 2026-10-28 16:01:29,552: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:29,705: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:01:29,813: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/86...ime=1758864705)
FFF: DEBUG: 2026-10-28 16:01:29,813: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/86047,url=https://www.royalroadcdn.com/public/covers-large/86047-path-to-transcendence.jpg?time=1758864705,cover=specific,c overexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:29,813: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1758864705
FFF: DEBUG: 2026-10-28 16:01:29,813: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1758864705
FFF: DEBUG: 2026-10-28 16:01:29,970: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:29,978: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:29,978: decorators.py(129): random sleep(2.50-7.50):2.51
FFF: DEBUG: 2026-10-28 16:01:32,489: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1758864705
FFF: DEBUG: 2026-10-28 16:01:32,744: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:01:32,773: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:01:41,913: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 16:01:41,914: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(783) vs url(786)
FFF: DEBUG: 2026-10-28 16:01:46,019: story.py(1667): addImgUrl(parenturl=None,url=failedtoload https://imgur.com/a/FeoBKvf,cover=No...mages/smilies/)
FFF: DEBUG: 2026-10-28 16:01:46,410: story.py(1667): addImgUrl(parenturl=None,url=failedtoload https://imgur.com/a/xUetPGs,cover=No...mages/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,096: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/fomyVwF.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,097: story.py(1796): existing image url found:https://i.imgur.com/fomyVwF.jpeg->images/ffdl-69cb05b8-3e19-5c76-a76b-aa9581292a71.jpg(https://i.imgur.com/fomyVwF.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,097: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/6hz7g9x.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,097: story.py(1796): existing image url found:https://i.imgur.com/6hz7g9x.jpeg->images/ffdl-93d93f86-8c2d-51f7-b1ce-785c8919f4bd.jpg(https://i.imgur.com/6hz7g9x.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,099: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,099: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,104: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,104: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,110: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,110: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,116: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,117: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,123: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,123: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,129: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,129: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,134: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,134: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,139: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,139: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,143: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,143: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,151: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,151: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,159: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,159: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,167: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:47,168: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:47,173: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/86...-consolidation
FFF: DEBUG: 2026-10-28 16:01:47,173: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/86...-consolidation
FFF: DEBUG: 2026-10-28 16:01:47,173: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/86...-consolidation
FFF: DEBUG: 2026-10-28 16:01:48,420: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:48,431: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:48,431: decorators.py(129): random sleep(2.50-7.50):5.46
FFF: DEBUG: 2026-10-28 16:01:53,894: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:53,997: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/86047/path-to-transcendence-book-1-stubbing-nov-11th/chapter/4252181/chapter-780-concept-consolidation,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:53,997: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:54,002: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/86...erlasting-void
FFF: DEBUG: 2026-10-28 16:01:54,002: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/86...erlasting-void
FFF: DEBUG: 2026-10-28 16:01:54,003: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/86...erlasting-void
FFF: DEBUG: 2026-10-28 16:01:55,048: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:55,065: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:55,065: decorators.py(129): random sleep(2.50-7.50):2.91
FFF: DEBUG: 2026-10-28 16:01:57,974: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:01:58,045: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/86047/path-to-transcendence-book-1-stubbing-nov-11th/chapter/4257443/chapter-781-everlasting-void,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:01:58,045: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: DEBUG: 2026-10-28 16:01:58,051: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/86...-782-shameless
FFF: DEBUG: 2026-10-28 16:01:58,051: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/86...-782-shameless
FFF: DEBUG: 2026-10-28 16:01:58,051: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/86...-782-shameless
FFF: DEBUG: 2026-10-28 16:01:59,434: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:01:59,440: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:01:59,441: decorators.py(129): random sleep(2.50-7.50):5.70
FFF: DEBUG: 2026-10-28 16:02:05,139: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:02:05,213: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/86047/path-to-transcendence-book-1-stubbing-nov-11th/chapter/4262490/chapter-782-shameless,url=https://i.imgur.com/NV9vXwA.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:05,214: story.py(1796): existing image url found:https://i.imgur.com/NV9vXwA.jpeg->images/ffdl-09b74fe4-0b76-59a2-8702-00f0d9d1a94e.jpg(https://i.imgur.com/NV9vXwA.jpeg)
FFF: INFO: 2026-10-28 16:02:05,218: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=786 old_urls=783 new_urls=3
FFF: INFO: 2026-10-28 16:02:05,218: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-0wa1wixl.epub
FFF: INFO: 2026-10-28 16:02:05,219: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-0wa1wixl.epub
FFF: INFO: 2026-10-28 16:02:05,220: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 16:02:10,601: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:1717501
FFF: INFO: 2026-10-28 16:02:10,604: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-0wa1wixl.epub
FFF: INFO: 2026-10-28 16:02:10,605: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 16:02:14,382: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/183246
FFF: DEBUG: 2026-10-28 16:02:14,382: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:02:14,389: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:02:14,390: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:02:14,390: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:02:14,390: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:02:14,578: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/183246
FFF: DEBUG: 2026-10-28 16:02:14,578: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/183246
FFF: DEBUG: 2026-10-28 16:02:14,578: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/183246
FFF: DEBUG: 2026-10-28 16:02:16,575: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:02:16,584: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:02:16,584: decorators.py(129): random sleep(2.50-7.50):4.52
FFF: DEBUG: 2026-10-28 16:02:21,109: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:02:21,254: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:02:21,286: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/18...ime=1785261139)
FFF: DEBUG: 2026-10-28 16:02:21,286: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/183246,url=https://www.royalroadcdn.com/public/covers-large/183246-reverse-engineered-magic-titletrait-collecting.jpg?time=1785261139,cover=specific,cove rexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:21,286: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1785261139
FFF: DEBUG: 2026-10-28 16:02:21,286: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1785261139
FFF: DEBUG: 2026-10-28 16:02:21,390: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:02:21,395: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:02:21,395: decorators.py(129): random sleep(2.50-7.50):6.45
FFF: DEBUG: 2026-10-28 16:02:27,852: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1785261139
FFF: DEBUG: 2026-10-28 16:02:29,453: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:02:29,962: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 16:02:29,963: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(204) vs url(207)
FFF: DEBUG: 2026-10-28 16:02:29,992: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:29,992: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343->images/ffdl-822e1f40-bab1-50d7-9389-833e36725858.jpg(https://www.royalroadcdn.com/public/...ime=1786132343)
FFF: DEBUG: 2026-10-28 16:02:30,020: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,021: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343->images/ffdl-822e1f40-bab1-50d7-9389-833e36725858.jpg(https://www.royalroadcdn.com/public/...ime=1786132343)
FFF: DEBUG: 2026-10-28 16:02:30,030: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,030: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343->images/ffdl-822e1f40-bab1-50d7-9389-833e36725858.jpg(https://www.royalroadcdn.com/public/...ime=1786132343)
FFF: DEBUG: 2026-10-28 16:02:30,066: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,066: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/183300-the-divine-thief-litrpg-tower-skill-grinding.jpg?time=1786132343->images/ffdl-822e1f40-bab1-50d7-9389-833e36725858.jpg(https://www.royalroadcdn.com/public/...ime=1786132343)
FFF: DEBUG: 2026-10-28 16:02:30,070: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/175561-first-harvest.jpg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,070: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/175561-first-harvest.jpg->images/ffdl-1cd0dd98-e146-5224-8438-0c7dd3f936d0.jpg(https://www.royalroadcdn.com/public/...st-harvest.jpg)
FFF: DEBUG: 2026-10-28 16:02:30,134: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/142811-mana-architect-a-cozy-isekai-base-building.jpg?time=1771286175,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,134: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/142811-mana-architect-a-cozy-isekai-base-building.jpg?time=1771286175->images/ffdl-bca060c0-0b94-565c-a450-0b5255c94e1c.jpg(https://www.royalroadcdn.com/public/...ime=1771286175)
FFF: DEBUG: 2026-10-28 16:02:30,385: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/dS50bOv.gif,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,385: story.py(1796): existing image url found:https://i.imgur.com/dS50bOv.gif->images/ffdl-0f1926d9-5ca7-5333-892a-b1dbadf92b55.jpg(https://i.imgur.com/dS50bOv.gif)
FFF: DEBUG: 2026-10-28 16:02:30,389: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/6kfobBl.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,389: story.py(1796): existing image url found:https://i.imgur.com/6kfobBl.png->images/ffdl-16a1fcfb-419a-562b-888f-ddda35ac1828.jpg(https://i.imgur.com/6kfobBl.png)
FFF: DEBUG: 2026-10-28 16:02:30,393: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/Gt4a7Qa.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,393: story.py(1796): existing image url found:https://i.imgur.com/Gt4a7Qa.png->images/ffdl-8cb11ac3-47fe-539d-80d6-94bfdc1f44b5.jpg(https://i.imgur.com/Gt4a7Qa.png)
FFF: DEBUG: 2026-10-28 16:02:30,399: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/cP27MXM.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,399: story.py(1796): existing image url found:https://i.imgur.com/cP27MXM.png->images/ffdl-161085a7-21d6-5f2b-80b1-d6b8af81f3d6.jpg(https://i.imgur.com/cP27MXM.png)
FFF: DEBUG: 2026-10-28 16:02:30,405: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,405: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:02:30,413: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/godspawn-ascendant-aada9sag0bu.jpg?time=1726351033,cover=None,coverex clusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,413: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/godspawn-ascendant-aada9sag0bu.jpg?time=1726351033->images/ffdl-57df1783-0604-551a-bef3-2339af0ebbec.jpg(https://www.royalroadcdn.com/public/...ime=1726351033)
FFF: DEBUG: 2026-10-28 16:02:30,419: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/RCRoEra.gif,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,420: story.py(1796): existing image url found:https://i.imgur.com/RCRoEra.gif->images/ffdl-c2c15369-fdaf-5017-a2ca-013f20f78716.jpg(https://i.imgur.com/RCRoEra.gif)
FFF: DEBUG: 2026-10-28 16:02:30,477: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/179678-seeking-strays.jpg?time=1783740463,cover=None,coverexclusi on=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,477: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/179678-seeking-strays.jpg?time=1783740463->images/ffdl-769ff3e2-3de7-50a7-9658-81d06493c293.jpg(https://www.royalroadcdn.com/public/...ime=1783740463)
FFF: DEBUG: 2026-10-28 16:02:30,500: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/emie-ascended-aadaq7y7rg.jpg?time=1779845073,cover=None,coverexc lusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,500: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/emie-ascended-aadaq7y7rg.jpg?time=1779845073->images/ffdl-57739d2b-b442-5e2c-9555-1cf79354822e.jpg(https://www.royalroadcdn.com/public/...ime=1779845073)
FFF: DEBUG: 2026-10-28 16:02:30,751: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/trapped-in-the-god-killing-dungeon-litrpg-isekai.jpg?time=1786893835,cover=None,coverexclusi on=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:02:30,751: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/trapped-in-the-god-killing-dungeon-litrpg-isekai.jpg?time=1786893835->images/ffdl-e32358b7-ab6d-5516-a610-df76ea813f34.jpg(https://www.royalroadcdn.com/public/...ime=1786893835)
FFF: DEBUG: 2026-10-28 16:02:30,806: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...in-the-pattern
FFF: DEBUG: 2026-10-28 16:02:30,806: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...in-the-pattern
FFF: DEBUG: 2026-10-28 16:02:30,807: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...in-the-pattern
FFF: DEBUG: 2026-10-28 16:02:31,994: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:02:32,001: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:02:32,001: decorators.py(129): random sleep(2.50-7.50):7.16
FFF: DEBUG: 2026-10-28 16:02:39,162: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:02:39,241: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...-railgun-slugs
FFF: DEBUG: 2026-10-28 16:02:39,241: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...-railgun-slugs
FFF: DEBUG: 2026-10-28 16:02:39,241: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...-railgun-slugs
FFF: DEBUG: 2026-10-28 16:02:40,531: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:02:40,538: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:02:40,538: decorators.py(129): random sleep(2.50-7.50):5.22
FFF: DEBUG: 2026-10-28 16:02:45,758: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:02:45,829: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...he-death-cloud
FFF: DEBUG: 2026-10-28 16:02:45,829: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...he-death-cloud
FFF: DEBUG: 2026-10-28 16:02:45,829: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...he-death-cloud
FFF: DEBUG: 2026-10-28 16:02:54,878: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:02:54,892: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:02:54,892: decorators.py(129): random sleep(2.50-7.50):4.23
FFF: DEBUG: 2026-10-28 16:02:59,118: requestable.py(54): Encoding:utf8
FFF: INFO: 2026-10-28 16:02:59,199: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=207 old_urls=204 new_urls=3
FFF: INFO: 2026-10-28 16:02:59,200: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ebuswpoi.epub
FFF: INFO: 2026-10-28 16:02:59,201: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ebuswpoi.epub
FFF: INFO: 2026-10-28 16:02:59,202: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 16:03:00,583: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:448097
FFF: INFO: 2026-10-28 16:03:00,584: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-ebuswpoi.epub
FFF: INFO: 2026-10-28 16:03:00,586: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 16:03:01,369: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/188968
FFF: DEBUG: 2026-10-28 16:03:01,370: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:03:01,379: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:03:01,379: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:03:01,379: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:03:01,379: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:03:01,587: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/188968
FFF: DEBUG: 2026-10-28 16:03:01,587: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/188968
FFF: DEBUG: 2026-10-28 16:03:01,587: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/188968
FFF: DEBUG: 2026-10-28 16:03:04,534: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:04,542: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:04,542: decorators.py(129): random sleep(2.50-7.50):4.19
FFF: DEBUG: 2026-10-28 16:03:08,735: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:03:08,846: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:03:08,869: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/18...ime=1787878641)
FFF: DEBUG: 2026-10-28 16:03:08,869: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968,url=https://www.royalroadcdn.com/public/covers-large/188968-selfmancer-my-only-skeleton-is-myself.jpg?time=1787878641,cover=specific,coverexc lusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:08,869: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1787878641
FFF: DEBUG: 2026-10-28 16:03:08,869: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1787878641
FFF: DEBUG: 2026-10-28 16:03:08,988: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:08,994: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:08,994: decorators.py(129): random sleep(2.50-7.50):3.82
FFF: DEBUG: 2026-10-28 16:03:12,818: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1787878641
FFF: DEBUG: 2026-10-28 16:03:13,055: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:03:13,500: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='proceed'
FFF: INFO: 2026-10-28 16:03:13,500: calibre_plugins.fanficfare_plugin.jobs(316): Do update - epub(48) vs url(51)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/393424b57ad84917a3ac1f72b9f63b32/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=7-KCIubmHdHNIjQGHeajcwHV55HSKlRQmQshTbz3s3U%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/393424b57ad84917a3ac1f72b9f63b32/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=7-KCIubmHdHNIjQGHeajcwHV55HSKlRQmQshTbz3s3U%3D&token-time=1789171200->images/ffdl-73d295db-0d4d-58da-9e47-868e7c618b12.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/07d963c5a0694ad28e2cb4766b01ae6f/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=rxdoLRN2m_XkEVF6WmjnanaJJ3V5rkCQooyF9pAZfUE%3 D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/07d963c5a0694ad28e2cb4766b01ae6f/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=rxdoLRN2m_XkEVF6WmjnanaJJ3V5rkCQooyF9pAZfUE%3 D&token-time=1789171200->images/ffdl-2b8e3c96-d2f4-593b-82f2-81bf81da1b18.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/1ea2a115585841a9b3bf2a7c5b4125da/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=FonFxUCcCwP8wf09qApBgQLZVVEZvzkk6PLlqJnpnxM%3 D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/1ea2a115585841a9b3bf2a7c5b4125da/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=FonFxUCcCwP8wf09qApBgQLZVVEZvzkk6PLlqJnpnxM%3 D&token-time=1789171200->images/ffdl-a0537d2a-29af-5273-8fdb-3576669b5a0b.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,549: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/4bd195121e784f2f8970a942b899192a/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=jxMOOSc-l7u_l_h2in4krRxgVUD3bWGVS_Pb8dZkQFs%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/4bd195121e784f2f8970a942b899192a/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=jxMOOSc-l7u_l_h2in4krRxgVUD3bWGVS_Pb8dZkQFs%3D&token-time=1789171200->images/ffdl-a2f699a7-120c-5733-bd2a-38a13191331f.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/0628088c8e3547efb88f1acaf278e445/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=XO3Tgm8W-AWR4z3p2efHgGUexupcsrqdwVzBOm_crz0%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/0628088c8e3547efb88f1acaf278e445/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=XO3Tgm8W-AWR4z3p2efHgGUexupcsrqdwVzBOm_crz0%3D&token-time=1789171200->images/ffdl-780834c4-75a5-5579-902f-09a1189db265.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/f65c4564d0b84db88b335d3af2db523e/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=VchLfCuUAWtDgsMYh5k4eEVC6iEVkg_IZpdYZYmJwW4%3 D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/f65c4564d0b84db88b335d3af2db523e/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=VchLfCuUAWtDgsMYh5k4eEVC6iEVkg_IZpdYZYmJwW4%3 D&token-time=1789171200->images/ffdl-777e3c38-d639-5c65-895c-acb9307355dc.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/e11477d47eab4f5a867a89bc2988e416/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=fGAtYa-vRei5NHgo_wrikrryGsjHnjlhvi4g1NhRVc8%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/e11477d47eab4f5a867a89bc2988e416/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=fGAtYa-vRei5NHgo_wrikrryGsjHnjlhvi4g1NhRVc8%3D&token-time=1789171200->images/ffdl-f9f9a237-067c-55f8-ada6-6763a3678302.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/238c2f6ea8034a1a90ef4a2a4f62023f/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=MZGpS9mdf9hVqw231a5rZD_LpSRjbU5sfW35RK-RXDw%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,550: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/157837926/238c2f6ea8034a1a90ef4a2a4f62023f/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=MZGpS9mdf9hVqw231a5rZD_LpSRjbU5sfW35RK-RXDw%3D&token-time=1789171200->images/ffdl-95e0bb00-3bde-5342-a0ab-fd46f1710f72.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/161633765/963051385429413a975ee589d5209385/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=BQSNXSczqSv3HxXNKdfiXU0bTNanR9fNIPG-Mb8cDd0%3D&token-time=1789171200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/161633765/963051385429413a975ee589d5209385/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=BQSNXSczqSv3HxXNKdfiXU0bTNanR9fNIPG-Mb8cDd0%3D&token-time=1789171200->images/ffdl-afbd0162-9ddb-5199-828b-0ffa66f71792.jpg(https://c10.patreonusercontent.com/4...ime=1789171200)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,567: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,571: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,571: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,571: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,571: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,575: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,575: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,575: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,575: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,579: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/162260433/371e789e589741b395c438cc608c9d7c/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=mMkgReT8IDKoBtRLAdE3691fKTTrQlr354igfxUKD0w%3 D&token-time=1789344000,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,579: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/162260433/371e789e589741b395c438cc608c9d7c/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=mMkgReT8IDKoBtRLAdE3691fKTTrQlr354igfxUKD0w%3 D&token-time=1789344000->images/ffdl-121336c1-5409-5b03-bfb8-02a50c1bcde6.jpg(https://c10.patreonusercontent.com/4...ime=1789344000)
FFF: DEBUG: 2026-10-28 16:03:13,580: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,580: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,580: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,580: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/167331-cultivators-path-to-infamy-progression.jpg?time=1781450012,cover=None,coverex clusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/167331-cultivators-path-to-infamy-progression.jpg?time=1781450012->images/ffdl-7210aac5-cd6b-58e4-8cc8-3a9d8751fda9.jpg(https://www.royalroadcdn.com/public/...ime=1781450012)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/162260560/03d1ba4dd2e1475884232e718e79bd39/eyJhIjoxLCJwIjoxfQ%3D%3D/1.gif?token-hash=AKVxGyMzXBj-ofZYyYji0C8-mnYjJe7B4r0CDHRR4Ec%3D&token-time=1789430400,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/162260560/03d1ba4dd2e1475884232e718e79bd39/eyJhIjoxLCJwIjoxfQ%3D%3D/1.gif?token-hash=AKVxGyMzXBj-ofZYyYji0C8-mnYjJe7B4r0CDHRR4Ec%3D&token-time=1789430400->images/ffdl-8317c24b-4a49-5cc3-b432-fc802a60a910.jpg(https://c10.patreonusercontent.com/4...ime=1789430400)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,584: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/183246-reverse-engineered-magic-titletrait-collecting.jpg?time=1785261139,cover=None,coverexc lusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/183246-reverse-engineered-magic-titletrait-collecting.jpg?time=1785261139->images/ffdl-6899f1f0-a923-597e-b965-b390ef34c000.jpg(https://www.royalroadcdn.com/public/...ime=1785261139)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,589: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,595: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,595: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,595: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,595: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,600: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,601: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,601: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,601: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,605: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,605: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,605: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,605: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,609: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,609: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,609: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,609: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/162990578/07703ae3a34a418a80476770eaef7246/eyJhIjoxLCJwIjoxfQ%3D%3D/1.gif?token-hash=10eZSDnU8vA02bEHXyKAfkMXpaernLt2UBxRefPKgWg%3 D&token-time=1789948800,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/162990578/07703ae3a34a418a80476770eaef7246/eyJhIjoxLCJwIjoxfQ%3D%3D/1.gif?token-hash=10eZSDnU8vA02bEHXyKAfkMXpaernLt2UBxRefPKgWg%3 D&token-time=1789948800->images/ffdl-debc6921-7612-58a8-980a-d0bb4f5ce42f.jpg(https://c10.patreonusercontent.com/4...ime=1789948800)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,614: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/188421-soldier-system-a-military-litrpg-progression.jpg?time=1787677409,cover=None,coverex clusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/188421-soldier-system-a-military-litrpg-progression.jpg?time=1787677409->images/ffdl-378d2902-d6f6-5649-b59b-a1e5490f14f3.jpg(https://www.royalroadcdn.com/public/...ime=1787677409)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,619: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,623: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,623: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,623: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,623: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/ebXzYmP.gif,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1796): existing image url found:https://i.imgur.com/ebXzYmP.gif->images/ffdl-8d22a1a1-e435-585a-b084-adfe6eb3a26d.jpg(https://i.imgur.com/ebXzYmP.gif)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,631: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,641: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,641: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,641: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,641: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,646: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,646: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,646: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,646: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,651: story.py(1667): addImgUrl(parenturl=None,url=https://c10.patreonusercontent.com/4/patreon-media/p/post/164200019/af770adbc711436f83c62229ee7275d2/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=QZ5r25Nr4xd6AJl2GINNMIF5GPZvmhOWBaQYWIskwaY%3 D&token-time=1790467200,cover=None,coverexclusion=(imgur.c om/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,651: story.py(1796): existing image url found:https://c10.patreonusercontent.com/4/patreon-media/p/post/164200019/af770adbc711436f83c62229ee7275d2/eyJhIjoxLCJ3Ijo4MjB9/1.png?token-hash=QZ5r25Nr4xd6AJl2GINNMIF5GPZvmhOWBaQYWIskwaY%3 D&token-time=1790467200->images/ffdl-e84fc504-0157-510f-9d76-5171d12803b1.jpg(https://c10.patreonusercontent.com/4...ime=1790467200)
FFF: DEBUG: 2026-10-28 16:03:13,656: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,657: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,657: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,657: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/189461-chimera-rising-human-and-lion.jpg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/189461-chimera-rising-human-and-lion.jpg->images/ffdl-ba2127b5-431b-5c38-95ed-23c145f50d3a.jpg(https://www.royalroadcdn.com/public/...n-and-lion.jpg)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,667: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,674: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,674: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,674: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,674: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,703: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,703: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,704: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,704: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,710: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,711: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,711: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,711: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/fallen-eagle-kingdom-building-military-strategy-aaca8xmrlrc.jpg?time=1756747498,cover=None,coverex clusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/fallen-eagle-kingdom-building-military-strategy-aaca8xmrlrc.jpg?time=1756747498->images/ffdl-fd8972c2-40a0-5ae6-8309-4bc813fdf11b.jpg(https://www.royalroadcdn.com/public/...ime=1756747498)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,718: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,724: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,724: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,724: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,724: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,729: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,729: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,729: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,729: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,734: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,734: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,734: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,734: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/194104-ice-queen-rising-kingdom-building-powerful.jpg?time=1791312312,cover=None,coverexclu sion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/194104-ice-queen-rising-kingdom-building-powerful.jpg?time=1791312312->images/ffdl-b17501c5-32e4-5f5f-a0b1-60536628a8bb.jpg(https://www.royalroadcdn.com/public/...ime=1791312312)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,740: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,746: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,746: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,746: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,746: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,750: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,750: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,750: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,750: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,754: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,755: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,755: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,755: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/176968-eternal-star-a-litrpg-apocalypse.jpg?time=[color=var(--color-primary)]1786539520[/color],cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/...ypse.jpg?time=[color=var(--color-primary)]1786539520[/color]->images/ffdl-17afe96b-5fd6-54c1-a392-97b2af4b4d4b.jpg(https://www.royalroadcdn.com/public/...ypse.jpg?time=[color=var(--color-primary)]1786539520[/color])
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,760: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,766: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,766: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:13,766: story.py(1667): addImgUrl(parenturl=None,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,766: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:13,770: story.py(1667): addImgUrl(parenturl=None,url=https://www.royalroadcdn.com/public/covers-large/200531-demigod-class-ascension-a-litrpg-apocalypse.jpg?time=1792878724,cover=None,coverexc lusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:13,770: story.py(1796): existing image url found:https://www.royalroadcdn.com/public/covers-large/200531-demigod-class-ascension-a-litrpg-apocalypse.jpg?time=1792878724->images/ffdl-3dde7292-1bac-5c57-9180-4e459ff6080a.jpg(https://www.royalroadcdn.com/public/...ime=1792878724)
FFF: DEBUG: 2026-10-28 16:03:13,771: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...d-a-settlement
FFF: DEBUG: 2026-10-28 16:03:13,771: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...d-a-settlement
FFF: DEBUG: 2026-10-28 16:03:13,771: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...d-a-settlement
FFF: DEBUG: 2026-10-28 16:03:14,808: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:14,815: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:14,815: decorators.py(129): random sleep(2.50-7.50):5.07
FFF: DEBUG: 2026-10-28 16:03:19,885: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:03:19,971: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4252314/chapter-48-time-to-build-a-settlement,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:19,971: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:19,971: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4252314/chapter-48-time-to-build-a-settlement,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:19,971: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:19,974: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...the-settlement
FFF: DEBUG: 2026-10-28 16:03:19,975: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...the-settlement
FFF: DEBUG: 2026-10-28 16:03:19,975: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...the-settlement
FFF: DEBUG: 2026-10-28 16:03:21,341: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:21,347: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:21,347: decorators.py(129): random sleep(2.50-7.50):5.53
FFF: DEBUG: 2026-10-28 16:03:26,873: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:03:26,973: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4257579/chapter-49-preparing-the-settlement,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:26,973: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:26,973: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4257579/chapter-49-preparing-the-settlement,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:26,973: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: DEBUG: 2026-10-28 16:03:26,978: adapter_royalroadcom.py(426): Getting chapter text from: https://www.royalroad.com/fiction/18...lution-options
FFF: DEBUG: 2026-10-28 16:03:26,978: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/18...lution-options
FFF: DEBUG: 2026-10-28 16:03:26,978: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/18...lution-options
FFF: DEBUG: 2026-10-28 16:03:27,979: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:27,991: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:27,992: decorators.py(129): random sleep(2.50-7.50):5.27
FFF: DEBUG: 2026-10-28 16:03:33,260: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:03:33,329: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4262240/chapter-50-fire-magic-apprentice-evolution-options,url=https://i.imgur.com/JAofZQc.png,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:33,329: story.py(1796): existing image url found:https://i.imgur.com/JAofZQc.png->images/ffdl-38cc1568-ce28-5b23-a114-ee7b275ff249.jpg(https://i.imgur.com/JAofZQc.png)
FFF: DEBUG: 2026-10-28 16:03:33,329: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/188968/selfmancer-my-only-skeleton-is-myself-system-apocalypse/chapter/4262240/chapter-50-fire-magic-apprentice-evolution-options,url=https://i.imgur.com/oorHWPP.jpeg,cover=None,coverexclusion=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:33,329: story.py(1796): existing image url found:https://i.imgur.com/oorHWPP.jpeg->images/ffdl-d40800e2-8ad3-5000-a3da-03e061cf28e0.jpg(https://i.imgur.com/oorHWPP.jpeg)
FFF: INFO: 2026-10-28 16:03:33,334: base_adapter.py(476): UPDATE_COUNTERS updated=0 added=3 written=51 old_urls=48 new_urls=3
FFF: INFO: 2026-10-28 16:03:33,334: calibre_plugins.fanficfare_plugin.jobs(346): write to C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-b6wz77yv.epub
FFF: INFO: 2026-10-28 16:03:33,335: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-b6wz77yv.epub
FFF: INFO: 2026-10-28 16:03:33,337: writer_epub.py(409): Saving EPUB Version 2.0
FFF: DEBUG: 2026-10-28 16:03:34,114: calibre_plugins.fanficfare_plugin.wordcount(56): Word count - count_words method:88234
FFF: INFO: 2026-10-28 16:03:34,115: base_writer.py(196): Save directly to file: C:\Users\Dima\AppData\Local\Temp\calibre-vrlhzjte\fanficfare_xvwdftfy\bgmeta-b6wz77yv.epub
FFF: INFO: 2026-10-28 16:03:34,116: writer_epub.py(409): Saving EPUB Version 2.0
FFF: INFO: 2026-10-28 16:03:34,475: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/141169
FFF: DEBUG: 2026-10-28 16:03:34,475: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:03:34,482: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:03:34,482: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:03:34,482: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:03:34,482: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:03:34,790: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/141169
FFF: DEBUG: 2026-10-28 16:03:34,790: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/141169
FFF: DEBUG: 2026-10-28 16:03:34,790: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/141169
FFF: DEBUG: 2026-10-28 16:03:37,831: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:37,839: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:37,840: decorators.py(129): random sleep(2.50-7.50):3.09
FFF: DEBUG: 2026-10-28 16:03:40,928: requestable.py(54): Encoding:utf8
FFF: DEBUG: 2026-10-28 16:03:41,075: adapter_royalroadcom.py(210): USING LEGACY RR DESIGN
FFF: DEBUG: 2026-10-28 16:03:41,095: base_adapter.py(928): setCoverImage(https://www.royalroad.com/fiction/14...ime=1764342361)
FFF: DEBUG: 2026-10-28 16:03:41,095: story.py(1667): addImgUrl(parenturl=https://www.royalroad.com/fiction/141169,url=https://www.royalroadcdn.com/public/covers-large/141169-spirit-lock-op-mc.jpg?time=1764342361,cover=specific,coverexclusi on=(imgur.com/dzOACJf.png|/forum/images/smilies/)
FFF: DEBUG: 2026-10-28 16:03:41,095: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroadcdn.com/public/...ime=1764342361
FFF: DEBUG: 2026-10-28 16:03:41,095: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroadcdn.com/public/...ime=1764342361
FFF: DEBUG: 2026-10-28 16:03:41,196: fetcher_camoufox.py(91): response code:200
FFF: DEBUG: 2026-10-28 16:03:41,202: decorators.py(118): fromcache:False
FFF: DEBUG: 2026-10-28 16:03:41,202: decorators.py(129): random sleep(2.50-7.50):3.60
FFF: DEBUG: 2026-10-28 16:03:44,804: story.py(1839): use cover(specific): https://www.royalroadcdn.com/public/...ime=1764342361
FFF: DEBUG: 2026-10-28 16:03:44,873: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:03:45,755: calibre_plugins.fanficfare_plugin.jobs(294): update_decision='already_contains'
FFF: INFO: 2026-10-28 16:03:45,757: calibre_plugins.fanficfare_plugin.jobs(145):

-------------------------------------------------------------------------------- https://www.royalroad.com/fiction/144199
FFF: DEBUG: 2026-10-28 16:03:45,757: configurable.py(567): config site:www.royalroad.com
FFF: DEBUG: 2026-10-28 16:03:45,765: configurable.py(1037): use_camoufox:true
FFF: DEBUG: 2026-10-28 16:03:45,765: configurable.py(1067): use_browser_cache:False
FFF: DEBUG: 2026-10-28 16:03:45,765: configurable.py(1088): use_basic_cache:true
FFF: DEBUG: 2026-10-28 16:03:45,765: camoufoxbrowser.py(61): cloning camoufox singlton browser
FFF: DEBUG: 2026-10-28 16:03:45,993: adapter_royalroadcom.py(197): URL: https://www.royalroad.com/fiction/144199
FFF: DEBUG: 2026-10-28 16:03:45,993: cache_basic.py(106):
========== MISS (GET) BasicCache
https://www.royalroad.com/fiction/144199
FFF: DEBUG: 2026-10-28 16:03:45,994: fetcher_camoufox.py(78):
---------- REQ (GET) CamoufoxFetcher
https://www.royalroad.com/fiction/144199
FFF: INFO: 2026-10-28 16:03:47,981: calibre_plugins.fanficfare_plugin.jobs(449): Exception: {'title': 'The Dungeon Apocalypse', 'author_sort': 'CJCarella', 'author': ['CJCarella'], 'comments': '', 'good': False, 'status': 'Error', 'showerror': True, 'calibre_id': 6064, 'begin': None, 'end': None, 'comment': "HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/144199'", 'url': 'https://www.royalroad.com/fiction/144199', 'site': 'www.royalroad.com', 'series': '', 'added': False, 'pubdate': None, 'publisher': 'www.royalroad.com', 'listorder': 4, 'collision': 'Update EPUB if New Chapters', 'uniqueurl': 'https://www.royalroad.com/fiction/144199[None-None]', 'is_adult': False, 'username': 'NoneGiven', 'password': '', 'totp': None, 'icon': 'dialog_error.png', 'epub_for_update': 'C:\\Users\\Dima\\AppData\\Local\\Temp\\calibre-vrlhzjte\\fanficfare_xvwdftfy\\old-6064-xjbq_k6b.epub', 'calibre_columns': {'calibre_std_publisher': {'val': 'www.royalroad.com', 'label': 'Publisher'}, 'calibre_std_uuid': {'val': '4d8d570c-93bd-4e90-9620-15f57417a965', 'label': 'None'}, 'calibre_std_authors': {'val': 'CJCarella', 'label': 'Authors'}, 'calibre_std_rating': {'val': '', 'label': 'Rating'}, 'calibre_std_languages': {'val': 'eng', 'label': 'Languages'}, 'calibre_std_cover_data': {'val': '(None, None)', 'label': 'cover_data'}, 'calibre_std_identifiers': {'val': 'url:https://www.royalroad.com/fiction/144199', 'label': 'Identifiers'}, 'calibre_std_pubdate': {'val': 'Dec 2025', 'label': 'Published'}, 'calibre_std_timestamp': {'val': '25 Oct 2026', 'label': 'Date'}, 'calibre_std_last_modified': {'val': '25 Oct 2026', 'label': 'Modified'}, 'calibre_std_link_maps': {'val': "{'authors': {'CJCarella': 'https://www.royalroad.com/user/profile/239004'}}", 'label': 'link_maps'}, 'calibre_std_application_id': {'val': '6064', 'label': 'application_id'}, 'calibre_std_series': {'val': '', 'label': 'Series'}, 'calibre_std_formats': {'val': 'EPUB', 'label': 'Formats'}, 'calibre_std_author_sort': {'val': 'CJCarella', 'label': 'Author sort'}, 'calibre_std_pages': {'val': '416', 'label': 'Pages'}, 'calibre_std_author_sort_map': {'val': "{'CJCarella': 'CJCarella'}", 'label': 'author_sort_map'}, 'calibre_std_series_index': {'val': '', 'label': 'None'}, 'calibre_std_comments': {'val': '<div class="hidden-content"> <p>A seemingly omnipotent System has designated Earth as a Crucible World, where humanity will be reforged into beings of great power - or die horribly at the hands of monstruous entities. To Roland Webb, Army veteran living a simple, mediocre life, the end begins when strange lights by the side of the road plunge him into a life-or-death struggle. After barely surviving, he is offered a choice of Paths of Ascendancy: the Classer or the Cultivator.</p> <p>Roland, a long-time-gamer, decides to embrace both. </p> <p>The Dungeon Apocalypse contains LitRPG and Cultivation elements, two separate tracks of advancement, a progression journey, action, humor and adventure set in a modern world transformed by magic, dungeons, and the System.</p> </div>', 'label': 'Comments'}, 'calibre_std_title_sort': {'val': 'Dungeon Apocalypse, The', 'label': 'Title sort'}, 'calibre_std_tags': {'val': 'Action, Adventure, Apocalypse, Contemporary, Cultivation, Dungeon Crawler, Fantasy, GameLit, High Fantasy, LitRPG, Male Lead, Martial Arts, Original, Stub, Supernatural', 'label': 'Tags'}, 'calibre_std_title': {'val': 'The Dungeon Apocalypse', 'label': 'Title'}, 'calibre_cust_chapters': {'val': 70, 'label': 'Chptrs'}, 'calibre_cust_pages': {'val': 587, 'label': 'Pages'}, 'calibre_cust_words': {'val': 151679, 'label': 'Words'}}, 'outfile': 'C:\\Users\\Dima\\AppData\\Local\\Temp\\calibre-vrlhzjte\\fanficfare_xvwdftfy\\bgmeta-3vfrj9d_.epub'}:HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/144199'
Traceback (most recent call last):
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\fetcher_camoufox.p y", line 88, in request
File "calibre\web\automate\recipes.py", line 848, in open
File "calibre\web\automate\recipes.py", line 840, in _open
File "calibre\web\automate\recipes.py", line 707, in response_from_result
urllib.error.URLError: <urlopen error HTTP 302>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "calibre_plugins.fanficfare_plugin.jobs", line 199, in do_download_for_worker
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\base_adapter.py", line 657, in getStoryMetadataOnly
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\base_adapter.py", line 767, in doExtractChapterUrlsAndMetadata
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\adapters\adapter_royalroadc om.py", line 202, in extractChapterUrlsAndMetadata
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\requestable.py", line 128, in get_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\requestable.py", line 118, in get_request_redirected
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\base_fetcher.py", line 137, in get_request_redirected
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\decorators.py", line 160, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\cache_basic.py", line 112, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\decorators.py", line 107, in fetcher_do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\base_fetcher.py", line 107, in do_request
File "C:\Users\Dima\AppData\Roaming\calibre\plugins\Fan FicFare.zip\fanficfare\fetchers\fetcher_camoufox.p y", line 124, in request
fanficfare.exceptions.HTTPErrorFFF: HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/144199'
FFF: INFO: 2026-10-28 16:03:47,981: calibre_plugins.fanficfare_plugin.jobs(85):
Download Results:
Add https://www.royalroad.com/fiction/86047 Update epub completed, added 3 chapters for 786 total.
Bad https://www.royalroad.com/fiction/167958 Already contains 66 chapters.
Error https://www.royalroad.com/fiction/144199 HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/144199'
Error https://www.royalroad.com/fiction/164140 HTTP Error in FFF 'HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140'
Add https://www.royalroad.com/fiction/188968 Update epub completed, added 3 chapters for 51 total.
Add https://www.royalroad.com/fiction/67599 Update epub completed, added 3 chapters for 661 total.
Add https://www.royalroad.com/fiction/188834 Update epub completed, added 3 chapters for 98 total.
Add https://www.royalroad.com/fiction/157609 Update epub completed, added 3 chapters for 54 total.
Bad https://www.royalroad.com/fiction/141169 Already contains 88 chapters.
Add https://www.royalroad.com/fiction/183246 Update epub completed, added 3 chapters for 207 total.
Add https://www.royalroad.com/fiction/115429 Update epub completed, added 1 chapters for 19 total.

FFF: INFO: 2026-10-28 16:03:47,982: calibre_plugins.fanficfare_plugin.jobs(110):
Add
https://www.royalroad.com/fiction/86047
https://www.royalroad.com/fiction/188968
https://www.royalroad.com/fiction/67599
https://www.royalroad.com/fiction/188834
https://www.royalroad.com/fiction/157609
https://www.royalroad.com/fiction/183246
https://www.royalroad.com/fiction/115429

FFF: INFO: 2026-10-28 16:03:47,982: calibre_plugins.fanficfare_plugin.jobs(110):
Bad
https://www.royalroad.com/fiction/167958
https://www.royalroad.com/fiction/141169

FFF: INFO: 2026-10-28 16:03:47,982: calibre_plugins.fanficfare_plugin.jobs(110):
Error
https://www.royalroad.com/fiction/144199
https://www.royalroad.com/fiction/164140

FFF: DEBUG: 2026-10-28 16:03:50,206: fetcher_camoufox.py(138): browser clone released
FFF: DEBUG: 2026-10-28 16:03:50,211: fetcher_camoufox.py(138): browser clone released
unclebob is offline   Reply With Quote
Old Yesterday, 06:54 PM   #12688
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
New Test Version Posted

2026-11-01
- fetcher_camoufox: Retry on 302, increase pre-retry wait

Quote:
Originally Posted by unclebob View Post
I have had a lot of issues with error 302s ('HTTP 302'(302) URL:'https://www.royalroad.com/fiction/164140') trying to update more than 9 stories. This has been the case since the first camoufox version I tried.
...
In theory, a 302 code is a redirect and the camoufox browser should have handled it.

But I've added code to specifically do the same 'wait for javascript to run' "retry" that we do for Anubis javascript. No idea if it helps.

I haven't seen this happen in my testing, but I also don't do batch downloads. Getting blocked while trying to test code is really frustrating, so I tread as lightly as I can.

Something else that really irritates me about this entire journey: I haven't see RR using the anubis javascript code since Monday last week. I suspect they've dropped it.

EDIT: For completeness sake, I ran a batch of 51 RR stories (limited to 3 chapters each)--basically just the 'Trending' page. I had no errors, 302 or otherwise.

Last edited by JimmXinu; Yesterday at 08:45 PM.
JimmXinu is offline   Reply With Quote
Old Yesterday, 08:49 PM   #12689
unclebob
Junior Member
unclebob began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Nov 2026
Device: kindle paperwhite 2024
Quote:
Originally Posted by JimmXinu View Post
New Test Version Posted

2026-11-01
- fetcher_camoufox: Retry on 302, increase pre-retry wait


In theory, a 302 code is a redirect and the camoufox browser should have handled it.

But I've added code to specifically do the same 'wait for javascript to run' "retry" that we do for Anubis javascript. No idea if it helps.

I haven't seen this happen in my testing, but I also don't do batch downloads. Getting blocked while trying to test code is really frustrating, so I tread as lightly as I can.

Something else that really irritates me about this entire journey: I haven't see RR using the anubis javascript code since Monday last week. I suspect they've dropped it.
Thanks! I will try it later. It's hard to test properly because you either have to wait for a few days for new chapters to accumulate or download completely new stories in large number.

Actually, I am still getting this when I download without camoufox
"HTTP Error in FFF '403 Client Error: Forbidden for url: https://www.royalroad.com/fiction/122502'(403)
https://www.royalroad.com/fiction/122502".
So it either on for my region or maybe even for my ip.

By the way, why do you think the progress bar is at 7% here?
Attached Thumbnails
Click image for larger version

Name:	calibre_progress.png
Views:	7
Size:	45.7 KB
ID:	227126  
unclebob is offline   Reply With Quote
Old Yesterday, 08:55 PM   #12690
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,705
Karma: 5010733
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
403 errors are blocking or login failures. I've done all I can about it.

Percent done of BG processing is by chapters, not stories. I would guess you have some super-long stories towards the end.

BTW, 200 stories at once is about 10x more than I would recommend. Not surprised you're running into blocking.
JimmXinu is offline   Reply With Quote
Reply

Tags
fanfiction


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[GUI Plugin] Open With kiwidude Plugins 406 10-10-2026 01:59 AM
[GUI Plugin] KindleUnpack - The Plugin DiapDealer Plugins 546 05-21-2026 03:44 PM
[GUI Plugin] Marvin XD Philantrop Plugins 126 01-29-2017 01:48 PM
[GUI Plugin] KiNotes -axel- Plugins 0 07-14-2013 07:39 PM
[GUI Plugin] Plugin Updater **Deprecated** kiwidude Plugins 159 06-19-2011 01:27 PM


All times are GMT -4. The time now is 01:55 AM.


MobileRead.com is a privately owned, operated and funded community.