Add use_flaresolverr_proxy:directimages experimental for #1007

This commit is contained in:
Jim Miller 2023-10-18 12:12:48 -05:00
parent f5c9fcf029
commit c38f4ab400
2 changed files with 23 additions and 1 deletions

View file

@ -1052,9 +1052,11 @@ class Configuration(ConfigParser):
if self.getConfig('use_flaresolverr_proxy',False):
logger.debug("use_flaresolverr_proxy:%s"%self.getConfig('use_flaresolverr_proxy'))
fetchcls = fetcher_flaresolverr_proxy.FlareSolverr_ProxyFetcher
if self.getConfig('use_flaresolverr_proxy') != 'withimages' and not self.getConfig('use_browser_cache'):
if (self.getConfig('use_flaresolverr_proxy') != 'withimages' and
self.getConfig('use_flaresolverr_proxy') != 'directimages') and not self.getConfig('use_browser_cache'):
logger.warning("FlareSolverr v2+ doesn't work with images: include_images automatically set false")
logger.warning("Set use_flaresolverr_proxy:withimages if your are using FlareSolver v1 and want images")
logger.warning("Set use_flaresolverr_proxy:directimages to download images directly while using FlareSolver")
self.set('overrides', 'include_images', 'false')
elif self.getConfig('use_nsapa_proxy',False):
logger.debug("use_nsapa_proxy:%s"%self.getConfig('use_nsapa_proxy'))

View file

@ -733,6 +733,20 @@ class Story(Requestable):
self.chapter_text_replacements_prepped = False
self.chapter_error_count = 0
self.raw_fetcher = None
logger.debug("use_flaresolverr_proxy:%s"%self.getConfig('use_flaresolverr_proxy'))
if self.getConfig('use_flaresolverr_proxy') == 'directimages':
from . import fetchers
fetcher = fetchers.RequestsFetcher(self.getConfig,
self.getConfigList)
def get_request_raw(url,
referer=None,
usecache=True): ## referer is used with raw for images.
return fetcher.get_request_redirected(
url,
referer=referer,
usecache=usecache)[0]
self.raw_fetcher = get_request_raw
def prepare_replacements(self):
if not self.replacements_prepped and not self.is_lightweight():
@ -1506,6 +1520,12 @@ class Story(Requestable):
# as well as it's a base_story class method.
def addImgUrl(self,parenturl,url,fetch,cover=None,coverexclusion=None):
logger.debug("addImgUrl(parenturl=%s,url=%s,cover=%s,coverexclusion=%s"%(parenturl,url,cover,coverexclusion))
## XXX
if self.raw_fetcher:
logger.debug("addImgUrl Using raw_fetcher")
fetch = self.raw_fetcher
# otherwise it saves the image in the epub even though it
# isn't used anywhere.
if cover and self.getConfig('never_make_cover'):