aboutsummaryrefslogtreecommitdiff
path: root/cgi-bin
diff options
context:
space:
mode:
Diffstat (limited to 'cgi-bin')
-rwxr-xr-xcgi-bin/webring_redirect.cgi68
1 files changed, 0 insertions, 68 deletions
diff --git a/cgi-bin/webring_redirect.cgi b/cgi-bin/webring_redirect.cgi
deleted file mode 100755
index 299ed14..0000000
--- a/cgi-bin/webring_redirect.cgi
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /usr/bin/env python
-
-import cgi
-import requests
-import random
-import json
-
-WEBSITE_URL = "http://nathansmith117.beevomit.org"
-
-def handle_be_crime_do_gay_webring():
- try:
- # https://codeberg.org/artemislena/artemislena.eu#be-crime-do-gay-webring
- req = requests.get("https://artemislena.eu/services/downloads/beCrimeDoGay.json", timeout=5)
- req.raise_for_status
- return req.json()
- except requests.exceptions.Timeout:
- return "Status: 503 Service Unavailable\n"
- except Exception:
- return "Status: 500 Internal Error\n"
-
-def handle_fields():
- form = cgi.FieldStorage()
-
- # Name of the webring name and direction.
- name = form.getvalue("name")
- direction = form.getvalue("direction")
-
- if name is None or direction is None:
- return "Status: 400 Bad Request\n"
-
- # Callbacks to handle webrings.
- webrings = {
- "gay": handle_be_crime_do_gay_webring
- }
-
- website_list = webrings[name]()
-
- if website_list == None or website_list == []:
- return "Status: 500 Internal Error\n"
- if type(website_list) is str:
- return website_list
-
- # Find this website in webring.
- position = 0
-
- try:
- position = website_list.index(WEBSITE_URL)
- except ValueError:
- return "Status: 400 Bad Request\n\nSite not added to webring yet"
-
- # Handle direction
- redirect_website = ""
-
- if direction == "next":
- redirect_website = website_list[(position + 1) % len(website_list)]
- elif direction == "previous":
- redirect_website = website_list[(position - 1) % len(website_list)]
- elif direction == "random":
- website_list.pop(position)
- redirect_website = random.choice(website_list)
- else:
- return "Status: 400 Bad Request\n"
-
- return f"Status: 302 Found\nLocation: {redirect_website}\n"
-
-print("Content-Type: text/html")
-print(handle_fields())
-