Fixes from tests
This commit is contained in:
parent
a20a155d39
commit
0cf1cc5587
28
cps/admin.py
28
cps/admin.py
|
@ -522,6 +522,7 @@ def _configuration_gdrive_helper(to_save):
|
||||||
|
|
||||||
def _configuration_oauth_helper(to_save):
|
def _configuration_oauth_helper(to_save):
|
||||||
active_oauths = 0
|
active_oauths = 0
|
||||||
|
reboot_required = False
|
||||||
for element in oauthblueprints:
|
for element in oauthblueprints:
|
||||||
if to_save["config_" + str(element['id']) + "_oauth_client_id"] != element['oauth_client_id'] \
|
if to_save["config_" + str(element['id']) + "_oauth_client_id"] != element['oauth_client_id'] \
|
||||||
or to_save["config_" + str(element['id']) + "_oauth_client_secret"] != element['oauth_client_secret']:
|
or to_save["config_" + str(element['id']) + "_oauth_client_secret"] != element['oauth_client_secret']:
|
||||||
|
@ -538,6 +539,7 @@ def _configuration_oauth_helper(to_save):
|
||||||
{"oauth_client_id": to_save["config_" + str(element['id']) + "_oauth_client_id"],
|
{"oauth_client_id": to_save["config_" + str(element['id']) + "_oauth_client_id"],
|
||||||
"oauth_client_secret": to_save["config_" + str(element['id']) + "_oauth_client_secret"],
|
"oauth_client_secret": to_save["config_" + str(element['id']) + "_oauth_client_secret"],
|
||||||
"active": element["active"]})
|
"active": element["active"]})
|
||||||
|
return reboot_required
|
||||||
|
|
||||||
def _configuration_logfile_helper(to_save, gdriveError):
|
def _configuration_logfile_helper(to_save, gdriveError):
|
||||||
reboot_required = False
|
reboot_required = False
|
||||||
|
@ -552,7 +554,7 @@ def _configuration_logfile_helper(to_save, gdriveError):
|
||||||
return reboot_required, _configuration_result(_('Access Logfile Location is not Valid, Please Enter Correct Path'), gdriveError)
|
return reboot_required, _configuration_result(_('Access Logfile Location is not Valid, Please Enter Correct Path'), gdriveError)
|
||||||
return reboot_required, None
|
return reboot_required, None
|
||||||
|
|
||||||
def _configuration_ldap_helper(gdriveError, to_save):
|
def _configuration_ldap_helper(to_save, gdriveError):
|
||||||
reboot_required = False
|
reboot_required = False
|
||||||
reboot_required |= _config_string(to_save, "config_ldap_provider_url")
|
reboot_required |= _config_string(to_save, "config_ldap_provider_url")
|
||||||
reboot_required |= _config_int(to_save, "config_ldap_port")
|
reboot_required |= _config_int(to_save, "config_ldap_port")
|
||||||
|
@ -575,36 +577,36 @@ def _configuration_ldap_helper(gdriveError, to_save):
|
||||||
or not config.config_ldap_port \
|
or not config.config_ldap_port \
|
||||||
or not config.config_ldap_dn \
|
or not config.config_ldap_dn \
|
||||||
or not config.config_ldap_user_object:
|
or not config.config_ldap_user_object:
|
||||||
return _configuration_result(_('Please Enter a LDAP Provider, '
|
return reboot_required, _configuration_result(_('Please Enter a LDAP Provider, '
|
||||||
'Port, DN and User Object Identifier'), gdriveError)
|
'Port, DN and User Object Identifier'), gdriveError)
|
||||||
|
|
||||||
if config.config_ldap_authentication > constants.LDAP_AUTH_ANONYMOUS:
|
if config.config_ldap_authentication > constants.LDAP_AUTH_ANONYMOUS:
|
||||||
if config.config_ldap_authentication > constants.LDAP_AUTH_UNAUTHENTICATE:
|
if config.config_ldap_authentication > constants.LDAP_AUTH_UNAUTHENTICATE:
|
||||||
if not config.config_ldap_serv_username or not bool(config.config_ldap_serv_password):
|
if not config.config_ldap_serv_username or not bool(config.config_ldap_serv_password):
|
||||||
return _configuration_result('Please Enter a LDAP Service Account and Password', gdriveError)
|
return reboot_required, _configuration_result('Please Enter a LDAP Service Account and Password', gdriveError)
|
||||||
else:
|
else:
|
||||||
if not config.config_ldap_serv_username:
|
if not config.config_ldap_serv_username:
|
||||||
return _configuration_result('Please Enter a LDAP Service Account', gdriveError)
|
return reboot_required, _configuration_result('Please Enter a LDAP Service Account', gdriveError)
|
||||||
|
|
||||||
if config.config_ldap_group_object_filter:
|
if config.config_ldap_group_object_filter:
|
||||||
if config.config_ldap_group_object_filter.count("%s") != 1:
|
if config.config_ldap_group_object_filter.count("%s") != 1:
|
||||||
return _configuration_result(_('LDAP Group Object Filter Needs to Have One "%s" Format Identifier'),
|
return reboot_required, _configuration_result(_('LDAP Group Object Filter Needs to Have One "%s" Format Identifier'),
|
||||||
gdriveError)
|
gdriveError)
|
||||||
if config.config_ldap_group_object_filter.count("(") != config.config_ldap_group_object_filter.count(")"):
|
if config.config_ldap_group_object_filter.count("(") != config.config_ldap_group_object_filter.count(")"):
|
||||||
return _configuration_result(_('LDAP Group Object Filter Has Unmatched Parenthesis'),
|
return reboot_required, _configuration_result(_('LDAP Group Object Filter Has Unmatched Parenthesis'),
|
||||||
gdriveError)
|
gdriveError)
|
||||||
|
|
||||||
if config.config_ldap_user_object.count("%s") != 1:
|
if config.config_ldap_user_object.count("%s") != 1:
|
||||||
return _configuration_result(_('LDAP User Object Filter needs to Have One "%s" Format Identifier'),
|
return reboot_required, _configuration_result(_('LDAP User Object Filter needs to Have One "%s" Format Identifier'),
|
||||||
gdriveError)
|
gdriveError)
|
||||||
if config.config_ldap_user_object.count("(") != config.config_ldap_user_object.count(")"):
|
if config.config_ldap_user_object.count("(") != config.config_ldap_user_object.count(")"):
|
||||||
return _configuration_result(_('LDAP User Object Filter Has Unmatched Parenthesis'),
|
return reboot_required, _configuration_result(_('LDAP User Object Filter Has Unmatched Parenthesis'),
|
||||||
gdriveError)
|
gdriveError)
|
||||||
|
|
||||||
if config.config_ldap_cert_path and not os.path.isdir(config.config_ldap_cert_path):
|
if config.config_ldap_cert_path and not os.path.isdir(config.config_ldap_cert_path):
|
||||||
return _configuration_result(_('LDAP Certificate Location is not Valid, Please Enter Correct Path'),
|
return reboot_required, _configuration_result(_('LDAP Certificate Location is not Valid, Please Enter Correct Path'),
|
||||||
gdriveError)
|
gdriveError)
|
||||||
return reboot_required
|
return reboot_required, None
|
||||||
|
|
||||||
|
|
||||||
def _configuration_update_helper():
|
def _configuration_update_helper():
|
||||||
|
@ -612,7 +614,7 @@ def _configuration_update_helper():
|
||||||
db_change = False
|
db_change = False
|
||||||
to_save = request.form.to_dict()
|
to_save = request.form.to_dict()
|
||||||
|
|
||||||
to_save['config_calibre_dir'] = re.sub('[[\\/]metadata\.db$', '', to_save['config_calibre_dir'], flags=re.IGNORECASE)
|
to_save['config_calibre_dir'] = re.sub('[\\/]metadata\.db$', '', to_save['config_calibre_dir'], flags=re.IGNORECASE)
|
||||||
db_change |= _config_string(to_save, "config_calibre_dir")
|
db_change |= _config_string(to_save, "config_calibre_dir")
|
||||||
|
|
||||||
# Google drive setup
|
# Google drive setup
|
||||||
|
@ -673,7 +675,7 @@ def _configuration_update_helper():
|
||||||
|
|
||||||
# OAuth configuration
|
# OAuth configuration
|
||||||
if config.config_login_type == constants.LOGIN_OAUTH:
|
if config.config_login_type == constants.LOGIN_OAUTH:
|
||||||
_configuration_oauth_helper(to_save)
|
reboot_required |= _configuration_oauth_helper(to_save)
|
||||||
|
|
||||||
reboot, message = _configuration_logfile_helper(to_save, gdriveError)
|
reboot, message = _configuration_logfile_helper(to_save, gdriveError)
|
||||||
if message:
|
if message:
|
||||||
|
@ -694,7 +696,7 @@ def _configuration_update_helper():
|
||||||
return _configuration_result('%s' % e, gdriveError)
|
return _configuration_result('%s' % e, gdriveError)
|
||||||
|
|
||||||
if db_change:
|
if db_change:
|
||||||
if not db.setup_db(config, ub.app_DB_path):
|
if not calibre_db.setup_db(config, ub.app_DB_path):
|
||||||
return _configuration_result(_('DB Location is not Valid, Please Enter Correct Path'), gdriveError)
|
return _configuration_result(_('DB Location is not Valid, Please Enter Correct Path'), gdriveError)
|
||||||
if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK):
|
if not os.access(os.path.join(config.config_calibre_dir, "metadata.db"), os.W_OK):
|
||||||
flash(_(u"DB is not Writeable"), category="warning")
|
flash(_(u"DB is not Writeable"), category="warning")
|
||||||
|
|
|
@ -39,7 +39,7 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
from . import logger, gdriveutils, config, db, ub
|
from . import logger, gdriveutils, config, ub, calibre_db
|
||||||
from .web import admin_required
|
from .web import admin_required
|
||||||
|
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ def on_received_watch_confirmation():
|
||||||
log.info('Setting up new DB')
|
log.info('Setting up new DB')
|
||||||
# prevent error on windows, as os.rename does on exisiting files
|
# prevent error on windows, as os.rename does on exisiting files
|
||||||
move(os.path.join(tmpDir, "tmp_metadata.db"), dbpath)
|
move(os.path.join(tmpDir, "tmp_metadata.db"), dbpath)
|
||||||
db.setup_db(config, ub.app_DB_path)
|
calibre_db.setup_db(config, ub.app_DB_path)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.exception(e)
|
log.exception(e)
|
||||||
updateMetaData()
|
updateMetaData()
|
||||||
|
|
|
@ -879,7 +879,7 @@ def get_cc_columns(filter_config_custom_read=False):
|
||||||
for col in tmpcc:
|
for col in tmpcc:
|
||||||
if filter_config_custom_read and config.config_read_column and config.config_read_column == col.id:
|
if filter_config_custom_read and config.config_read_column and config.config_read_column == col.id:
|
||||||
continue
|
continue
|
||||||
if r and r.match(col.label):
|
if r and r.match(col.name):
|
||||||
continue
|
continue
|
||||||
cc.append(col)
|
cc.append(col)
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ def HandleSyncRequest():
|
||||||
|
|
||||||
# We reload the book database so that the user get's a fresh view of the library
|
# We reload the book database so that the user get's a fresh view of the library
|
||||||
# in case of external changes (e.g: adding a book through Calibre).
|
# in case of external changes (e.g: adding a book through Calibre).
|
||||||
db.reconnect_db(config, ub.app_DB_path)
|
calibre_db.reconnect_db(config, ub.app_DB_path)
|
||||||
|
|
||||||
archived_books = (
|
archived_books = (
|
||||||
ub.session.query(ub.ArchivedBook)
|
ub.session.query(ub.ArchivedBook)
|
||||||
|
|
|
@ -121,9 +121,9 @@ for ex in default_exceptions:
|
||||||
if feature_support['ldap']:
|
if feature_support['ldap']:
|
||||||
# Only way of catching the LDAPException upon logging in with LDAP server down
|
# Only way of catching the LDAPException upon logging in with LDAP server down
|
||||||
@app.errorhandler(services.ldap.LDAPException)
|
@app.errorhandler(services.ldap.LDAPException)
|
||||||
def handle_LDAP_exception(e):
|
def handle_exception(e):
|
||||||
log.debug('LDAP server not accssible while trying to login to opds feed %s', e)
|
log.debug('LDAP server not accessible while trying to login to opds feed')
|
||||||
return error_http(e)
|
return error_http(FailedDependency())
|
||||||
|
|
||||||
# @app.errorhandler(InvalidRequestError)
|
# @app.errorhandler(InvalidRequestError)
|
||||||
#@app.errorhandler(OperationalError)
|
#@app.errorhandler(OperationalError)
|
||||||
|
@ -889,7 +889,7 @@ def ratings_list():
|
||||||
if current_user.check_visibility(constants.SIDEBAR_RATING):
|
if current_user.check_visibility(constants.SIDEBAR_RATING):
|
||||||
entries = calibre_db.session.query(db.Ratings, func.count('books_ratings_link.book').label('count'),
|
entries = calibre_db.session.query(db.Ratings, func.count('books_ratings_link.book').label('count'),
|
||||||
(db.Ratings.rating / 2).label('name')) \
|
(db.Ratings.rating / 2).label('name')) \
|
||||||
.join(calibre_db.books_ratings_link).join(db.Books).filter(common_filters()) \
|
.join(db.books_ratings_link).join(db.Books).filter(common_filters()) \
|
||||||
.group_by(text('books_ratings_link.rating')).order_by(db.Ratings.rating).all()
|
.group_by(text('books_ratings_link.rating')).order_by(db.Ratings.rating).all()
|
||||||
return render_title_template('list.html', entries=entries, folder='web.books_list', charlist=list(),
|
return render_title_template('list.html', entries=entries, folder='web.books_list', charlist=list(),
|
||||||
title=_(u"Ratings list"), page="ratingslist", data="ratings")
|
title=_(u"Ratings list"), page="ratingslist", data="ratings")
|
||||||
|
|
|
@ -333,7 +333,6 @@ class WorkerThread(threading.Thread):
|
||||||
task = {'task':'add_format','id': bookid, 'format': new_format}
|
task = {'task':'add_format','id': bookid, 'format': new_format}
|
||||||
self.db_queue.put(task)
|
self.db_queue.put(task)
|
||||||
# To Do how to handle error?
|
# To Do how to handle error?
|
||||||
print('finished')
|
|
||||||
|
|
||||||
'''cur_book.data.append(new_format)
|
'''cur_book.data.append(new_format)
|
||||||
try:
|
try:
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user