diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-07-28 18:33:36 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-07-28 18:33:36 +0100 |
commit | 286207ffa212cbe2cdc3c2e5abc511f3c7d6fcad (patch) | |
tree | 0b701fa7506f70fb18d57eaae6ffa97c8061f9e1 /app/views/packages/releases.py | |
parent | a3e82ad42f7707af43db477596fb6fe5fc5a6b53 (diff) | |
download | cheatdb-286207ffa212cbe2cdc3c2e5abc511f3c7d6fcad.tar.xz |
Add release specific download URLv1.9.0
Diffstat (limited to 'app/views/packages/releases.py')
-rw-r--r-- | app/views/packages/releases.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/app/views/packages/releases.py b/app/views/packages/releases.py index b6f5b20..2aeca24 100644 --- a/app/views/packages/releases.py +++ b/app/views/packages/releases.py @@ -91,6 +91,23 @@ def create_release_page(package): return render_template("packages/release_new.html", package=package, form=form) +@app.route("/packages/<author>/<name>/releases/<id>/download/") +@is_package_page +def download_release_page(package, id): + release = PackageRelease.query.get(id) + if release is None or release.package != package: + abort(404) + + if release is None: + if "application/zip" in request.accept_mimetypes and \ + not "text/html" in request.accept_mimetypes: + return "", 204 + else: + flash("No download available.", "error") + return redirect(package.getDetailsURL()) + else: + return redirect(release.url, code=300) + @app.route("/packages/<author>/<name>/releases/<id>/", methods=["GET", "POST"]) @login_required @is_package_page |