Allow easily reading viewer config data from the main calibre process

This commit is contained in:
Kovid Goyal 2020-07-10 12:28:22 +05:30
parent f259c9bd7e
commit 9af2fea710
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 22 additions and 12 deletions

View File

@ -0,0 +1,18 @@
#!/usr/bin/env python2
# vim:fileencoding=utf-8
# License: GPL v3 Copyright: 2020, Kovid Goyal <kovid at kovidgoyal.net>
from __future__ import absolute_import, division, print_function, unicode_literals
import os
from calibre.constants import config_dir
from calibre.utils.config import JSONConfig
vprefs = JSONConfig('viewer-webengine')
viewer_config_dir = os.path.join(config_dir, 'viewer')
vprefs.defaults['session_data'] = {}
vprefs.defaults['local_storage'] = {}
vprefs.defaults['main_window_state'] = None
vprefs.defaults['main_window_geometry'] = None
vprefs.defaults['old_prefs_migrated'] = False
vprefs.defaults['bookmarks_sort'] = 'title'

View File

@ -19,18 +19,18 @@ from PyQt5.QtWebEngineWidgets import (
from calibre import as_unicode, prints from calibre import as_unicode, prints
from calibre.constants import ( from calibre.constants import (
FAKE_HOST, FAKE_PROTOCOL, __version__, config_dir, in_develop_mode, FAKE_HOST, FAKE_PROTOCOL, __version__, in_develop_mode, is_running_from_develop,
is_running_from_develop, isosx, iswindows isosx, iswindows
) )
from calibre.ebooks.metadata.book.base import field_metadata from calibre.ebooks.metadata.book.base import field_metadata
from calibre.ebooks.oeb.polish.utils import guess_type from calibre.ebooks.oeb.polish.utils import guess_type
from calibre.gui2 import choose_images, error_dialog, safe_open_url from calibre.gui2 import choose_images, error_dialog, safe_open_url
from calibre.gui2.viewer.config import viewer_config_dir, vprefs
from calibre.gui2.webengine import ( from calibre.gui2.webengine import (
Bridge, RestartingWebEngineView, create_script, from_js, insert_scripts, Bridge, RestartingWebEngineView, create_script, from_js, insert_scripts,
secure_webengine, to_js secure_webengine, to_js
) )
from calibre.srv.code import get_translations_data from calibre.srv.code import get_translations_data
from calibre.utils.config import JSONConfig
from calibre.utils.serialize import json_loads from calibre.utils.serialize import json_loads
from calibre.utils.shared_file import share_open from calibre.utils.shared_file import share_open
from polyglot.builtins import as_bytes, iteritems, unicode_type from polyglot.builtins import as_bytes, iteritems, unicode_type
@ -42,18 +42,10 @@ except ImportError:
import sip import sip
SANDBOX_HOST = FAKE_HOST.rpartition('.')[0] + '.sandbox' SANDBOX_HOST = FAKE_HOST.rpartition('.')[0] + '.sandbox'
vprefs = JSONConfig('viewer-webengine')
viewer_config_dir = os.path.join(config_dir, 'viewer')
vprefs.defaults['session_data'] = {}
vprefs.defaults['local_storage'] = {}
vprefs.defaults['main_window_state'] = None
vprefs.defaults['main_window_geometry'] = None
vprefs.defaults['old_prefs_migrated'] = False
vprefs.defaults['bookmarks_sort'] = 'title'
# Override network access to load data from the book {{{ # Override network access to load data from the book {{{
def set_book_path(path, pathtoebook): def set_book_path(path, pathtoebook):
set_book_path.pathtoebook = pathtoebook set_book_path.pathtoebook = pathtoebook
set_book_path.path = os.path.abspath(path) set_book_path.path = os.path.abspath(path)