add basic auth for feed sites
This commit is contained in:
parent
f66d7ce29b
commit
8f4c444929
21
cps/web.py
21
cps/web.py
|
@ -96,12 +96,13 @@ def authenticate():
|
||||||
'You have to login with proper credentials', 401,
|
'You have to login with proper credentials', 401,
|
||||||
{'WWW-Authenticate': 'Basic realm="Login Required"'})
|
{'WWW-Authenticate': 'Basic realm="Login Required"'})
|
||||||
|
|
||||||
def requires_basic_auth(f):
|
def requires_basic_auth_if_no_ano(f):
|
||||||
@wraps(f)
|
@wraps(f)
|
||||||
def decorated(*args, **kwargs):
|
def decorated(*args, **kwargs):
|
||||||
auth = request.authorization
|
auth = request.authorization
|
||||||
if not auth or not check_auth(auth.username, auth.password):
|
if config.ANO_SHOW_BOOKS != 1:
|
||||||
return authenticate()
|
if not auth or not check_auth(auth.username, auth.password):
|
||||||
|
return authenticate()
|
||||||
return f(*args, **kwargs)
|
return f(*args, **kwargs)
|
||||||
return decorated
|
return decorated
|
||||||
|
|
||||||
|
@ -201,7 +202,7 @@ def before_request():
|
||||||
g.allow_upload = config.UPLOADING
|
g.allow_upload = config.UPLOADING
|
||||||
|
|
||||||
@app.route("/feed")
|
@app.route("/feed")
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_index():
|
def feed_index():
|
||||||
xml = render_template('index.xml')
|
xml = render_template('index.xml')
|
||||||
response= make_response(xml)
|
response= make_response(xml)
|
||||||
|
@ -209,7 +210,7 @@ def feed_index():
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route("/feed/osd")
|
@app.route("/feed/osd")
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_osd():
|
def feed_osd():
|
||||||
xml = render_template('osd.xml')
|
xml = render_template('osd.xml')
|
||||||
response= make_response(xml)
|
response= make_response(xml)
|
||||||
|
@ -217,7 +218,7 @@ def feed_osd():
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route("/feed/search", methods=["GET"])
|
@app.route("/feed/search", methods=["GET"])
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_search():
|
def feed_search():
|
||||||
term = request.args.get("query")
|
term = request.args.get("query")
|
||||||
if term:
|
if term:
|
||||||
|
@ -231,7 +232,7 @@ def feed_search():
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route("/feed/new")
|
@app.route("/feed/new")
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_new():
|
def feed_new():
|
||||||
off = request.args.get("start_index")
|
off = request.args.get("start_index")
|
||||||
if off:
|
if off:
|
||||||
|
@ -246,7 +247,7 @@ def feed_new():
|
||||||
|
|
||||||
|
|
||||||
@app.route("/feed/discover")
|
@app.route("/feed/discover")
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_discover():
|
def feed_discover():
|
||||||
off = request.args.get("start_index")
|
off = request.args.get("start_index")
|
||||||
if off:
|
if off:
|
||||||
|
@ -260,7 +261,7 @@ def feed_discover():
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route("/feed/hot")
|
@app.route("/feed/hot")
|
||||||
@login_required_if_no_ano
|
@requires_basic_auth_if_no_ano
|
||||||
def feed_hot():
|
def feed_hot():
|
||||||
off = request.args.get("start_index")
|
off = request.args.get("start_index")
|
||||||
if off:
|
if off:
|
||||||
|
@ -275,7 +276,7 @@ def feed_hot():
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@app.route("/feed/download/<int:book_id>/<format>")
|
@app.route("/feed/download/<int:book_id>/<format>")
|
||||||
@login_required
|
@requires_basic_auth_if_no_ano
|
||||||
@download_required
|
@download_required
|
||||||
def get_opds_download_link(book_id, format):
|
def get_opds_download_link(book_id, format):
|
||||||
format = format.split(".")[0]
|
format = format.split(".")[0]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user