mirror of
https://github.com/JonathanHerrewijnen/calibre-web.git
synced 2024-11-11 05:33:57 +00:00
Fix for missing message "flask-wtf not installed"
This commit is contained in:
parent
bd0071354c
commit
aefed40a2f
@ -112,14 +112,17 @@ def create_app():
|
|||||||
'*** Python2 is EOL since end of 2019, this version of Calibre-Web is no longer supporting Python2, please update your installation to Python3 ***')
|
'*** Python2 is EOL since end of 2019, this version of Calibre-Web is no longer supporting Python2, please update your installation to Python3 ***')
|
||||||
print(
|
print(
|
||||||
'*** Python2 is EOL since end of 2019, this version of Calibre-Web is no longer supporting Python2, please update your installation to Python3 ***')
|
'*** Python2 is EOL since end of 2019, this version of Calibre-Web is no longer supporting Python2, please update your installation to Python3 ***')
|
||||||
|
web_server.stop(True)
|
||||||
sys.exit(5)
|
sys.exit(5)
|
||||||
if not lxml_present:
|
if not lxml_present:
|
||||||
log.info('*** "lxml" is needed for calibre-web to run. Please install it using pip: "pip install lxml" ***')
|
log.info('*** "lxml" is needed for calibre-web to run. Please install it using pip: "pip install lxml" ***')
|
||||||
print('*** "lxml" is needed for calibre-web to run. Please install it using pip: "pip install lxml" ***')
|
print('*** "lxml" is needed for calibre-web to run. Please install it using pip: "pip install lxml" ***')
|
||||||
|
web_server.stop(True)
|
||||||
sys.exit(6)
|
sys.exit(6)
|
||||||
if not wtf_present:
|
if not wtf_present:
|
||||||
log.info('*** "flask-WTF" is needed for calibre-web to run. Please install it using pip: "pip install flask-WTF" ***')
|
log.info('*** "flask-WTF" is needed for calibre-web to run. Please install it using pip: "pip install flask-WTF" ***')
|
||||||
print('*** "flask-WTF" is needed for calibre-web to run. Please install it using pip: "pip install flask-WTF" ***')
|
print('*** "flask-WTF" is needed for calibre-web to run. Please install it using pip: "pip install flask-WTF" ***')
|
||||||
|
web_server.stop(True)
|
||||||
sys.exit(7)
|
sys.exit(7)
|
||||||
|
|
||||||
app.wsgi_app = ReverseProxied(app.wsgi_app)
|
app.wsgi_app = ReverseProxied(app.wsgi_app)
|
||||||
|
@ -115,42 +115,44 @@ def revoke_watch_gdrive():
|
|||||||
config.save()
|
config.save()
|
||||||
return redirect(url_for('admin.db_configuration'))
|
return redirect(url_for('admin.db_configuration'))
|
||||||
|
|
||||||
|
try:
|
||||||
|
@csrf.exempt
|
||||||
|
@gdrive.route("/watch/callback", methods=['GET', 'POST'])
|
||||||
|
def on_received_watch_confirmation():
|
||||||
|
if not config.config_google_drive_watch_changes_response:
|
||||||
|
return ''
|
||||||
|
if request.headers.get('X-Goog-Channel-Token') != gdrive_watch_callback_token \
|
||||||
|
or request.headers.get('X-Goog-Resource-State') != 'change' \
|
||||||
|
or not request.data:
|
||||||
|
return ''
|
||||||
|
|
||||||
@csrf.exempt
|
log.debug('%r', request.headers)
|
||||||
@gdrive.route("/watch/callback", methods=['GET', 'POST'])
|
log.debug('%r', request.data)
|
||||||
def on_received_watch_confirmation():
|
log.info('Change received from gdrive')
|
||||||
if not config.config_google_drive_watch_changes_response:
|
|
||||||
|
try:
|
||||||
|
j = json.loads(request.data)
|
||||||
|
log.info('Getting change details')
|
||||||
|
response = gdriveutils.getChangeById(gdriveutils.Gdrive.Instance().drive, j['id'])
|
||||||
|
log.debug('%r', response)
|
||||||
|
if response:
|
||||||
|
dbpath = os.path.join(config.config_calibre_dir, "metadata.db").encode()
|
||||||
|
if not response['deleted'] and response['file']['title'] == 'metadata.db' \
|
||||||
|
and response['file']['md5Checksum'] != hashlib.md5(dbpath): # nosec
|
||||||
|
tmp_dir = os.path.join(tempfile.gettempdir(), 'calibre_web')
|
||||||
|
if not os.path.isdir(tmp_dir):
|
||||||
|
os.mkdir(tmp_dir)
|
||||||
|
|
||||||
|
log.info('Database file updated')
|
||||||
|
copyfile(dbpath, os.path.join(tmp_dir, "metadata.db_" + str(current_milli_time())))
|
||||||
|
log.info('Backing up existing and downloading updated metadata.db')
|
||||||
|
gdriveutils.downloadFile(None, "metadata.db", os.path.join(tmp_dir, "tmp_metadata.db"))
|
||||||
|
log.info('Setting up new DB')
|
||||||
|
# prevent error on windows, as os.rename does on existing files, also allow cross hdd move
|
||||||
|
move(os.path.join(tmp_dir, "tmp_metadata.db"), dbpath)
|
||||||
|
calibre_db.reconnect_db(config, ub.app_DB_path)
|
||||||
|
except Exception as ex:
|
||||||
|
log.debug_or_exception(ex)
|
||||||
return ''
|
return ''
|
||||||
if request.headers.get('X-Goog-Channel-Token') != gdrive_watch_callback_token \
|
except AttributeError:
|
||||||
or request.headers.get('X-Goog-Resource-State') != 'change' \
|
pass
|
||||||
or not request.data:
|
|
||||||
return ''
|
|
||||||
|
|
||||||
log.debug('%r', request.headers)
|
|
||||||
log.debug('%r', request.data)
|
|
||||||
log.info('Change received from gdrive')
|
|
||||||
|
|
||||||
try:
|
|
||||||
j = json.loads(request.data)
|
|
||||||
log.info('Getting change details')
|
|
||||||
response = gdriveutils.getChangeById(gdriveutils.Gdrive.Instance().drive, j['id'])
|
|
||||||
log.debug('%r', response)
|
|
||||||
if response:
|
|
||||||
dbpath = os.path.join(config.config_calibre_dir, "metadata.db").encode()
|
|
||||||
if not response['deleted'] and response['file']['title'] == 'metadata.db' \
|
|
||||||
and response['file']['md5Checksum'] != hashlib.md5(dbpath): # nosec
|
|
||||||
tmp_dir = os.path.join(tempfile.gettempdir(), 'calibre_web')
|
|
||||||
if not os.path.isdir(tmp_dir):
|
|
||||||
os.mkdir(tmp_dir)
|
|
||||||
|
|
||||||
log.info('Database file updated')
|
|
||||||
copyfile(dbpath, os.path.join(tmp_dir, "metadata.db_" + str(current_milli_time())))
|
|
||||||
log.info('Backing up existing and downloading updated metadata.db')
|
|
||||||
gdriveutils.downloadFile(None, "metadata.db", os.path.join(tmp_dir, "tmp_metadata.db"))
|
|
||||||
log.info('Setting up new DB')
|
|
||||||
# prevent error on windows, as os.rename does on existing files, also allow cross hdd move
|
|
||||||
move(os.path.join(tmp_dir, "tmp_metadata.db"), dbpath)
|
|
||||||
calibre_db.reconnect_db(config, ub.app_DB_path)
|
|
||||||
except Exception as ex:
|
|
||||||
log.debug_or_exception(ex)
|
|
||||||
return ''
|
|
||||||
|
Loading…
Reference in New Issue
Block a user