@@ -48,6 +48,7 @@ class _Flask_Settings(_Base):
|
||||
flask_session_key = Column(BLOB, default=b"")
|
||||
|
||||
def __init__(self, key):
|
||||
super().__init__()
|
||||
self.flask_session_key = key
|
||||
|
||||
|
||||
@@ -82,7 +83,9 @@ class _Settings(_Base):
|
||||
config_random_books = Column(Integer, default=4)
|
||||
config_authors_max = Column(Integer, default=0)
|
||||
config_read_column = Column(Integer, default=0)
|
||||
config_title_regex = Column(String, default=r'^(A|The|An|Der|Die|Das|Den|Ein|Eine|Einen|Dem|Des|Einem|Eines|Le|La|Les|L\'|Un|Une)\s+')
|
||||
config_title_regex = Column(String,
|
||||
default=r'^(A|The|An|Der|Die|Das|Den|Ein|Eine'
|
||||
r'|Einen|Dem|Des|Einem|Eines|Le|La|Les|L\'|Un|Une)\s+')
|
||||
config_theme = Column(Integer, default=0)
|
||||
|
||||
config_log_level = Column(SmallInteger, default=logger.DEFAULT_LOG_LEVEL)
|
||||
@@ -178,6 +181,26 @@ class _Settings(_Base):
|
||||
class ConfigSQL(object):
|
||||
# pylint: disable=no-member
|
||||
def __init__(self):
|
||||
'''self.config_calibre_uuid = None
|
||||
self.config_calibre_split_dir = None
|
||||
self.dirty = None
|
||||
self.config_logfile = None
|
||||
self.config_upload_formats = None
|
||||
self.mail_gmail_token = None
|
||||
self.mail_server_type = None
|
||||
self.mail_server = None
|
||||
self.config_log_level = None
|
||||
self.config_allowed_column_value = None
|
||||
self.config_denied_column_value = None
|
||||
self.config_allowed_tags = None
|
||||
self.config_denied_tags = None
|
||||
self.config_default_show = None
|
||||
self.config_default_role = None
|
||||
self.config_keyfile = None
|
||||
self.config_certfile = None
|
||||
self.config_rarfile_location = None
|
||||
self.config_kepubifypath = None
|
||||
self.config_binariesdir = None'''
|
||||
self.__dict__["dirty"] = list()
|
||||
|
||||
def init_config(self, session, secret_key, cli):
|
||||
@@ -191,16 +214,16 @@ class ConfigSQL(object):
|
||||
|
||||
change = False
|
||||
|
||||
if self.config_binariesdir == None: # pylint: disable=access-member-before-definition
|
||||
if self.config_binariesdir is None:
|
||||
change = True
|
||||
self.config_binariesdir = autodetect_calibre_binaries()
|
||||
self.config_converterpath = autodetect_converter_binary(self.config_binariesdir)
|
||||
|
||||
if self.config_kepubifypath == None: # pylint: disable=access-member-before-definition
|
||||
if self.config_kepubifypath is None:
|
||||
change = True
|
||||
self.config_kepubifypath = autodetect_kepubify_binary()
|
||||
|
||||
if self.config_rarfile_location == None: # pylint: disable=access-member-before-definition
|
||||
if self.config_rarfile_location is None:
|
||||
change = True
|
||||
self.config_rarfile_location = autodetect_unrar_binary()
|
||||
if change:
|
||||
@@ -429,8 +452,7 @@ def _encrypt_fields(session, secret_key):
|
||||
{_Settings.mail_password_e: crypter.encrypt(settings.mail_password.encode())})
|
||||
if settings.config_ldap_serv_password:
|
||||
session.query(_Settings).update(
|
||||
{_Settings.config_ldap_serv_password_e:
|
||||
crypter.encrypt(settings.config_ldap_serv_password.encode())})
|
||||
{_Settings.config_ldap_serv_password_e: crypter.encrypt(settings.config_ldap_serv_password.encode())})
|
||||
session.commit()
|
||||
|
||||
|
||||
@@ -546,7 +568,7 @@ def load_configuration(session, secret_key):
|
||||
|
||||
def get_flask_session_key(_session):
|
||||
flask_settings = _session.query(_Flask_Settings).one_or_none()
|
||||
if flask_settings == None:
|
||||
if flask_settings is None:
|
||||
flask_settings = _Flask_Settings(os.urandom(32))
|
||||
_session.add(flask_settings)
|
||||
_session.commit()
|
||||
@@ -557,6 +579,7 @@ def get_encryption_key(key_path):
|
||||
key_file = os.path.join(key_path, ".key")
|
||||
generate = True
|
||||
error = ""
|
||||
key = None
|
||||
if os.path.exists(key_file) and os.path.getsize(key_file) > 32:
|
||||
with open(key_file, "rb") as f:
|
||||
key = f.read()
|
||||
|
||||
Reference in New Issue
Block a user