diff --git a/cps/templates/osd.xml b/cps/templates/osd.xml index b88e6823..0c0225d0 100644 --- a/cps/templates/osd.xml +++ b/cps/templates/osd.xml @@ -6,7 +6,7 @@ Janeczku https://github.com/janeczku/calibre-web + template="{{url_for('feed_cc_search')}}{searchTerms}"/> open diff --git a/cps/web.py b/cps/web.py index 1392d86c..36ab81a5 100644 --- a/cps/web.py +++ b/cps/web.py @@ -247,7 +247,7 @@ def load_user_from_header(header_val): header_val = header_val.replace('Basic ', '', 1) basic_username = basic_password = '' try: - header_val = base64.b64decode(header_val) + header_val = base64.b64decode(header_val).decode('utf-8') basic_username = header_val.split(':')[0] basic_password = header_val.split(':')[1] except TypeError: @@ -259,6 +259,8 @@ def load_user_from_header(header_val): def check_auth(username, password): + if sys.version_info.major == 3: + username=username.encode('windows-1252') user = ub.session.query(ub.User).filter(func.lower(ub.User.nickname) == username.lower()).first() return bool(user and check_password_hash(user.password, password)) @@ -726,6 +728,7 @@ def feed_osd(): return render_xml_template('osd.xml', lang='en-EN') +@app.route("/opds/search/", defaults={'query': ""}) @app.route("/opds/search/") @requires_basic_auth_if_no_ano def feed_cc_search(query):