mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-24 18:47:23 +00:00
Fixed problems on startup with config session
This commit is contained in:
parent
777c2726d3
commit
f13522559d
@ -71,7 +71,7 @@ lm.session_protection = 'strong'
|
||||
|
||||
ub.init_db(cli.settingspath)
|
||||
# pylint: disable=no-member
|
||||
config = config_sql.load_configuration(ub.Scoped_Session)
|
||||
config = config_sql.load_configuration()
|
||||
|
||||
web_server = WebServer()
|
||||
|
||||
@ -100,7 +100,7 @@ def create_app():
|
||||
log.info('Starting Calibre Web...')
|
||||
Principal(app)
|
||||
lm.init_app(app)
|
||||
app.secret_key = os.getenv('SECRET_KEY', config_sql.get_flask_session_key(ub.Scoped_Session))
|
||||
app.secret_key = os.getenv('SECRET_KEY', config.get_flask_session_key())
|
||||
|
||||
web_server.init_app(app, config)
|
||||
|
||||
@ -114,7 +114,6 @@ def create_app():
|
||||
services.goodreads_support.connect(config.config_goodreads_api_key,
|
||||
config.config_goodreads_api_secret,
|
||||
config.config_use_goodreads)
|
||||
|
||||
return app
|
||||
|
||||
@babel.localeselector
|
||||
|
@ -139,6 +139,7 @@ class _ConfigSQL(object):
|
||||
# pylint: disable=no-member
|
||||
def __init__(self, session):
|
||||
self._session = session
|
||||
self._session.expire_on_commit = False
|
||||
self._settings = None
|
||||
self.db_configured = None
|
||||
self.config_calibre_dir = None
|
||||
@ -241,6 +242,14 @@ class _ConfigSQL(object):
|
||||
def get_mail_server_configured(self):
|
||||
return not bool(self.mail_server == constants.DEFAULT_MAIL_SERVER)
|
||||
|
||||
def get_flask_session_key(self):
|
||||
flask_settings = self._session.query(_Flask_Settings).one_or_none()
|
||||
if flask_settings == None:
|
||||
flask_settings = _Flask_Settings(os.urandom(32))
|
||||
self._session.add(flask_settings)
|
||||
self._session.commit()
|
||||
return flask_settings.flask_session_key
|
||||
|
||||
|
||||
def set_from_dictionary(self, dictionary, field, convertor=None, default=None, encode=None):
|
||||
'''Possibly updates a field of this object.
|
||||
@ -273,6 +282,10 @@ class _ConfigSQL(object):
|
||||
|
||||
def load(self):
|
||||
'''Load all configuration values from the underlying storage.'''
|
||||
#own = False
|
||||
#if not self._session:
|
||||
# self._session = ub.Scoped_Session()
|
||||
# own = True
|
||||
s = self._read_from_storage() # type: _Settings
|
||||
for k, v in s.__dict__.items():
|
||||
if k[0] != '_':
|
||||
@ -395,8 +408,8 @@ def _migrate_database(session):
|
||||
_migrate_table(session, _Flask_Settings)
|
||||
|
||||
|
||||
def load_configuration(Session):
|
||||
session = Session()
|
||||
def load_configuration():
|
||||
session = ub.Scoped_Session()
|
||||
_migrate_database(session)
|
||||
|
||||
if not session.query(_Settings).count():
|
||||
@ -410,15 +423,4 @@ def load_configuration(Session):
|
||||
session.query(ub.User).filter(ub.User.mature_content != True). \
|
||||
update({"denied_tags": conf.config_mature_content_tags}, synchronize_session=False)
|
||||
session.commit()
|
||||
session.close()
|
||||
return conf
|
||||
|
||||
def get_flask_session_key(Session):
|
||||
session = Session()
|
||||
flask_settings = session.query(_Flask_Settings).one_or_none()
|
||||
if flask_settings == None:
|
||||
flask_settings = _Flask_Settings(os.urandom(32))
|
||||
session.add(flask_settings)
|
||||
session.commit()
|
||||
session.close()
|
||||
return flask_settings.flask_session_key
|
||||
|
Loading…
Reference in New Issue
Block a user