Skip to content

Commit 42924d9

Browse files
committed
Added logging of ip address (#3237)
Refactored Response(json.dumps -> make_response(jsonify..) Update mimetypes - Allow different mimetypes for download and file upload check (#3245, #3243) Bugfixes from tests Updated optional-requirements
1 parent 14e57e3 commit 42924d9

File tree

11 files changed

+154
-127
lines changed

11 files changed

+154
-127
lines changed

cps/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,13 @@
5555
mimetypes.add_type('application/xhtml+xml', '.xhtml')
5656
mimetypes.add_type('application/epub+zip', '.epub')
5757
mimetypes.add_type('application/epub+zip', '.kepub')
58-
mimetypes.add_type('text/xml', '.fb2')
58+
mimetypes.add_type('application/fb2+zip', '.fb2')
5959
mimetypes.add_type('application/octet-stream', '.mobi')
6060
mimetypes.add_type('application/octet-stream', '.prc')
6161
mimetypes.add_type('application/vnd.amazon.ebook', '.azw')
6262
mimetypes.add_type('application/x-mobi8-ebook', '.azw3')
63-
mimetypes.add_type('application/x-rar', '.cbr')
64-
mimetypes.add_type('application/zip', '.cbz')
63+
mimetypes.add_type('application/x-cbr', '.cbr')
64+
mimetypes.add_type('application/x-cbz', '.cbz')
6565
mimetypes.add_type('application/x-tar', '.cbt')
6666
mimetypes.add_type('application/x-7z-compressed', '.cb7')
6767
mimetypes.add_type('image/vnd.djv', '.djv')

cps/admin.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
from functools import wraps
3333
from urllib.parse import urlparse
3434

35-
from flask import Blueprint, flash, redirect, url_for, abort, request, make_response, send_from_directory, g, Response
35+
from flask import Blueprint, flash, redirect, url_for, abort, request, make_response, \
36+
send_from_directory, g, jsonify
3637
from markupsafe import Markup
3738
from .cw_login import current_user
3839
from flask_babel import gettext as _
@@ -378,10 +379,7 @@ def list_users():
378379
user.default = get_user_locale_language(user.default_language)
379380

380381
table_entries = {'totalNotFiltered': total_count, 'total': filtered_count, "rows": users}
381-
js_list = json.dumps(table_entries, cls=db.AlchemyEncoder)
382-
response = make_response(js_list)
383-
response.headers["Content-Type"] = "application/json; charset=utf-8"
384-
return response
382+
return make_response(json.dumps(table_entries, cls=db.AlchemyEncoder))
385383

386384

387385
@admi.route("/ajax/deleteuser", methods=['POST'])
@@ -400,7 +398,7 @@ def delete_user():
400398
success = list()
401399
if not users:
402400
log.error("User not found")
403-
return Response(json.dumps({'type': "danger", 'message': _("User not found")}), mimetype='application/json')
401+
return make_response(jsonify(type="danger", message=_("User not found")))
404402
for user in users:
405403
try:
406404
message = _delete_user(user)
@@ -416,7 +414,7 @@ def delete_user():
416414
log.info("Users {} deleted".format(user_ids))
417415
success = [{'type': "success", 'message': _("{} users deleted successfully").format(count)}]
418416
success.extend(errors)
419-
return Response(json.dumps(success), mimetype='application/json')
417+
return make_response(jsonify(success))
420418

421419

422420
@admi.route("/ajax/getlocale")
@@ -498,10 +496,10 @@ def edit_list_user(param):
498496
if not ub.session.query(ub.User). \
499497
filter(ub.User.role.op('&')(constants.ROLE_ADMIN) == constants.ROLE_ADMIN,
500498
ub.User.id != user.id).count():
501-
return Response(
502-
json.dumps([{'type': "danger",
499+
return make_response(
500+
jsonify([{'type': "danger",
503501
'message': _("No admin user remaining, can't remove admin role",
504-
nick=user.name)}]), mimetype='application/json')
502+
nick=user.name)}]))
505503
user.role &= ~value
506504
else:
507505
raise Exception(_("Value has to be true or false"))
@@ -947,7 +945,7 @@ def do_full_kobo_sync(userid):
947945
count = ub.session.query(ub.KoboSyncedBooks).filter(userid == ub.KoboSyncedBooks.user_id).delete()
948946
message = _("{} sync entries deleted").format(count)
949947
ub.session_commit(message)
950-
return Response(json.dumps([{"type": "success", "message": message}]), mimetype='application/json')
948+
return make_response(jsonify(type="success", message=message))
951949

952950

953951
def check_valid_read_column(column):
@@ -1264,7 +1262,7 @@ def _configuration_ldap_helper(to_save):
12641262
@admin_required
12651263
def simulatedbchange():
12661264
db_change, db_valid = _db_simulate_change()
1267-
return Response(json.dumps({"change": db_change, "valid": db_valid}), mimetype='application/json')
1265+
return make_response(jsonify(change=db_change, valid=db_valid))
12681266

12691267

12701268
@admi.route("/admin/user/new", methods=["GET", "POST"])
@@ -1896,7 +1894,7 @@ def _configuration_result(error_flash=None, reboot=False):
18961894
resp['result'] = [{'type': "success", 'message': _("Calibre-Web configuration updated")}]
18971895
resp['reboot'] = reboot
18981896
resp['config_upload'] = config.config_upload_formats
1899-
return Response(json.dumps(resp), mimetype='application/json')
1897+
return make_response(jsonify(resp))
19001898

19011899

19021900
def _db_configuration_result(error_flash=None, gdrive_error=None):

0 commit comments

Comments
 (0)