diff --git a/fanficfare/fetchers/cache_browser.py b/fanficfare/fetchers/cache_browser.py index 860afee3..5c9062dd 100644 --- a/fanficfare/fetchers/cache_browser.py +++ b/fanficfare/fetchers/cache_browser.py @@ -22,7 +22,6 @@ logger = logging.getLogger(__name__) import threading import traceback import time -import webbrowser from ..six.moves.urllib.parse import urlparse from .. import exceptions @@ -31,6 +30,13 @@ from .base_fetcher import FetcherResponse from .decorators import FetcherDecorator from .log import make_log +try: # just a way to switch between CLI and PI + ## webbrowser.open doesn't work on some linux flavors. + ## piggyback Calibre's version. + from calibre.gui2 import safe_open_url as open_url +except : + from webbrowser import open as open_url + ## kept here, this counter persists across all sessions in calibre ## session which can be days domain_open_tries = dict() @@ -64,7 +70,7 @@ class BrowserCacheDecorator(FetcherDecorator): not d and open_tries and domain_open_tries.get(parsedUrl.netloc,0) < fetcher.getConfig("open_pages_in_browser_tries_limit",6) ): logger.debug("\n\nopen page in browser: %s\ntries:%s\n"%(url,domain_open_tries.get(parsedUrl.netloc,None))) - webbrowser.open(url) + open_url(url) # logger.debug("domain_open_tries:%s:"%domain_open_tries) # if parsedUrl.netloc not in domain_open_tries: # logger.debug("First time for (%s) extra sleep"%parsedUrl.netloc)