From 5a9fc51ffcc4744179687540df50b5a778275099 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Fri, 23 Mar 2018 16:20:56 +0000 Subject: Add download button and URL --- app/views/packages.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'app/views') diff --git a/app/views/packages.py b/app/views/packages.py index 142b87a..1eee29c 100644 --- a/app/views/packages.py +++ b/app/views/packages.py @@ -96,6 +96,23 @@ def package_page(type, author, name): return render_template("packages/view.html", package=package, releases=releases) +@app.route("/s///download/") +def package_download_page(type, author, name): + package = getPageByInfo(type, author, name) + release = package.getDownloadRelease() + + if release is None: + wantsJson = "application/zip" in request.accept_mimetypes and \ + not "text/html" in request.accept_mimetypes + + if wantsJson: + return "", 204 + else: + flash("No download available.", "error") + return redirect(package.getDetailsURL()) + else: + return redirect(release.url, code=302) + class PackageForm(FlaskForm): name = StringField("Name", [InputRequired(), Length(1, 20), Regexp("^[a-z0-9_]", 0, "Lower case letters (a-z), digits (0-9), and underscores (_) only")]) -- cgit v1.2.3