diff --git a/kirsle_legacy.py b/kirsle_legacy.py deleted file mode 100644 index b7c02e4..0000000 --- a/kirsle_legacy.py +++ /dev/null @@ -1,127 +0,0 @@ -# -*- coding: utf-8 -*- - -# Legacy endpoint compatibility from kirsle.net. - -from flask import g, request, redirect, url_for, flash -import re -import os -import json - -from rophako.settings import Config -from rophako.app import app -from rophako.utils import template, login_required -import rophako.model.blog as Blog -import rophako.jsondb as JsonDB - - -@app.route("/+") -def google_plus(): - return redirect("https://plus.google.com/+NoahPetherbridge/posts") - - -@app.route("/blog.html") -def ancient_legacy_blog(): - post_id = request.args.get("id", None) - if post_id is None: - return redirect(url_for("blog.index")) - - # Look up the friendly ID. - post = Blog.get_entry(post_id) - if not post: - flash("That blog entry wasn't found.") - return redirect(url_for("blog.index")) - - return redirect(url_for("blog.entry", fid=post["fid"]), code=301) - - -@app.route("/blog/kirsle/") -def legacy_blog(fid): - return redirect(url_for("blog.entry", fid=fid), code=301) - - -@app.route("/rss.cgi") -def legacy_rss(): - return redirect(url_for("blog.rss"), code=301) - - -@app.route("/firered/") -@app.route("/firered") -def legacy_firered(page=""): - g.info["page"] = str(page) or "1" - return template("firered.html") - - -@app.route("/download", methods=["GET", "POST"]) -def legacy_download(): - form = None - if request.method == "POST": - form = request.form - else: - # CNET links to the MS-DOS download using semicolon delimiters in the - # query string. Fix that if detected. - query = request.query_string.decode() - if not '&' in query and ';' in query: - url = re.sub(r';|%3b', '&', request.url, flags=re.IGNORECASE) - return redirect(url) - - form = request.args - - method = form.get("method", "index") - project = form.get("project", "") - filename = form.get("file", "") - - root = "/home/kirsle/www/projects" - - if project and filename: - # Filter the sections. - project = re.sub(r'[^A-Za-z0-9]', '', project) # Project name is alphanumeric only. - filename = re.sub(r'[^A-Za-z0-9\-_\.]', '', filename) - - # Check that all the files exist. - if os.path.isdir(os.path.join(root, project)) and os.path.isfile(os.path.join(root, project, filename)): - # Hit counters. - hits = { "hits": 0 } - db = "data/downloads/{}-{}".format(project, filename) - if JsonDB.exists(db.format(project, filename)): - hits = JsonDB.get(db) - - # Actually getting the file? - if method == "get": - # Up the hit counter. - hits["hits"] += 1 - JsonDB.commit(db, hits) - - g.info["method"] = method - g.info["project"] = project - g.info["file"] = filename - g.info["hits"] = hits["hits"] - return template("download.html") - - flash("The file or project wasn't found.") - return redirect(url_for("index")) - - -@app.route("/.html") -def legacy_url(page): - return redirect("/{}".format(page), code=301) - - -@app.route("/metacity") -def legacy_metacity(): - return redirect("https://github.com/kirsle/linux-themes", code=301) - - -@app.route("/ssl_test") -@login_required -def ssl_test(): - return "
{}
".format(json.dumps({ - "SSLify criteria": { - "request.is_secure": request.is_secure, - "app.debug": app.debug, - "X-Forwarded-Proto is http": request.headers.get("X-Forwarded-Proto", "http") == "https", - }, - "App Configuration": { - "Session cookies secure": app.config["SESSION_COOKIE_SECURE"], - "config.FORCE_SSL": Config.security.force_ssl, - }, - }))