diff options
author | nathansmith117 <nathansmith@posteo.com> | 2025-03-17 12:54:50 -0600 |
---|---|---|
committer | nathansmith117 <nathansmith@posteo.com> | 2025-03-17 12:54:50 -0600 |
commit | 62d55d6f493945d414166fe6229b3433a2957a8d (patch) | |
tree | 29f8cfcf7afd00d729ef1846011a4694de86b39c /cgi-bin/webring_redirect.cgi | |
parent | 038ed7c5d3887919fcd8c528deee57ba159f52b4 (diff) |
I don't think they want me on their webring
Diffstat (limited to 'cgi-bin/webring_redirect.cgi')
-rwxr-xr-x | cgi-bin/webring_redirect.cgi | 68 |
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()) - |