Don't include kirsle_legacy.py in the Rophako project
This commit is contained in:
parent
6bb370c7fd
commit
f1f69552d4
127
kirsle_legacy.py
127
kirsle_legacy.py
|
@ -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/<fid>")
|
|
||||||
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/<page>")
|
|
||||||
@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("/<page>.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 "<pre>{}</pre>".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,
|
|
||||||
},
|
|
||||||
}))
|
|
Loading…
Reference in New Issue
Block a user