From ac1105f6cc7d9ef8753748a9bd18dbcd624c0fc6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?tr=C3=A9meur?=
Date: Sun, 4 Jun 2023 22:59:01 +0100
Subject: [PATCH] Delete unused script
---
fic-header.py | 170 --------------------------------------------------
1 file changed, 170 deletions(-)
delete mode 100644 fic-header.py
diff --git a/fic-header.py b/fic-header.py
deleted file mode 100644
index 49dc6e5..0000000
--- a/fic-header.py
+++ /dev/null
@@ -1,170 +0,0 @@
-import requests, datetime, os, re
-from bs4 import BeautifulSoup
-
-# presumably needed for nsfw content
-login_url = "https://www.archiveofourown.org/users/login"
-data = {
- "user": "translinkni",
- "password": "notreallyanapi"
-}
-
-if os.path.exists("ficheader.html"):
- os.remove("ficheader.html")
-
-thefile = open("ficheader.html", "a")
-
-with requests.Session() as s:
- response = s.post(login_url , data)
- print("Work ID:")
- id = input()
- print("Use title? (y/n)")
- thetitle = input()
- url = "https://archiveofourown.org/works/" + str(id)
- ficpage = s.get(url)
- ficsoup = BeautifulSoup(ficpage.content, "html.parser")
- rating = ficsoup.find("dd", class_="rating").text.strip()
- if str(rating) == "General Audiences":
- prazerating = "g"
- elif str(rating) == "Teen And Up Audiences":
- prazerating = "t"
- elif str(rating) == "Mature":
- prazerating = "m"
- elif str(rating) == "Explicit":
- prazerating = "e"
- warningheader = ficsoup.find("dd", {"class":["warning", "warnings"]})
- rawwarnings = warningheader.find_all("li")
- warnings = []
- for c in rawwarnings:
- warning = c.text
- warnings.append(str(warning))
- prazewarnings = []
- if "No Archive Warnings Apply" in warnings:
- prazewarn = 0
- elif "Creator Chose Not To Use Archive Warnings" in warnings:
- prazewarn = 1
- prazewarnings.append("miscellaneous")
- else:
- prazewarn = 1
- if "Major Character Death" in warnings:
- prazewarnings.append("character death")
- if "Underage" in warnings:
- prazewarnings.append("underage")
- categoryheader = ficsoup.find("dd", {"class":["category", "categories"]})
- rawcategories = categoryheader.find_all("li")
- categories = []
- for c in rawcategories:
- category = c.text
- categories.append(str(category))
- prazegenre = []
- if "Gen" in categories:
- prazegenre.append("gen")
- if "M/M" in categories:
- prazegenre.append("slash")
- if "F/M" in categories:
- prazegenre.append("het")
- if "F/F" in categories:
- prazegenre.append("femslash")
- if "Multi" in categories:
- prazegenre.append("poly")
- fandomheader = ficsoup.find("dd", {"class":["fandom", "fandoms"]})
- rawfandoms = fandomheader.find_all("li")
- fandoms = []
- for c in rawfandoms:
- rawfandom = str(c.text)
- if rawfandom == "Final Fantasy VI":
- fandom = "FF6"
- elif rawfandom == "Compilation of Final Fantasy VII":
- fandom = "FF7"
- elif rawfandom == "Crisis Core: Final Fantasy VII":
- fandom = "FF7 Crisis Core"
- elif rawfandom == "Final Fantasy VII (Video Game 1997)":
- fandom = "FF7"
- elif rawfandom == "Final Fantasy VII Remake (Video Game 2020)":
- fandom = "FF7R"
- elif rawfandom == "Final Fantasy X":
- fandom = "FFX"
- elif rawfandom == "Final Fantasy X Series":
- fandom = "FFX"
- elif rawfandom == "Final Fantasy X-2":
- fandom = "FFX-2"
- elif rawfandom == "Final Fantasy IX":
- fandom = "FF9"
- else:
- fandom = rawfandom
- fandoms.append(fandom)
- characterheader = ficsoup.find("dd", {"class":["character", "characters"]})
- rawcharacters = characterheader.find_all("li")
- characters = []
- for c in rawcharacters:
- rawcharacter = str(c.text)
- cleancharacter = re.sub(r" \(.*\)","",rawcharacter)
- if cleancharacter == "Locke Cole":
- character = "Locke"
- elif cleancharacter == "Macías \"Mash\" Rene Figaro | Sabin Rene Figaro":
- character = "Sabin"
- elif cleancharacter == "Celes Chere":
- character = "Celes"
- elif cleancharacter == "Edgar Roni Figaro":
- character = "Edgar"
- elif cleancharacter == "Tina Branford | Terra Branford":
- character = "Terra"
- elif cleancharacter == "Original Characters":
- character = "OCs"
- elif cleancharacter == "Original Male Character":
- character = "OMC"
- elif cleancharacter == "Original Female Character":
- character = "OFC"
- else:
- character = cleancharacter
- characters.append(str(character))
- date = ficsoup.find("dd", class_="published").text
- prazedate = datetime.datetime.strptime(str(date), "%Y-%m-%d").strftime("%-d %B %Y")
- words = ficsoup.find("dd", class_="words").text
- title = ficsoup.find("h2", class_="title").text.strip()
- summaryheader = ficsoup.find("div", class_="summary")
- summary = summaryheader.find("blockquote")
- notesheader = ficsoup.find("div", class_="notes")
- try:
- rawnotes = str(notesheader.find("blockquote"))
- except:
- rawnotes = 0
- if rawnotes:
- notesa = re.sub(r" rel=\"nofollow\"","",rawnotes)
- notesb = re.sub(r"alt=\"\[community profile\]\"","alt=\"[community profile]\" style=\"vertical-align: text-bottom; border: 0; padding-right: 1px;\"",notesa)
- notesc = re.sub(r"alt=\"\[personal profile\]\"","alt=\"[personal profile]\" style=\"vertical-align: text-bottom; border: 0; padding-right: 1px;\"",notesb)
- notesd = re.sub(r"
\nStandard note for 3sf fills: I’m aware that some AO3 users may not consider prompt fills “gifts”, and will take no offence if the gift is refused!","",notesc)
- notes = re.sub(r"\n
","",notesd)
- else:
- notes = 0
- masterlist = s.get("https://tre.praze.net/fic/master.html")
- mastersoup = BeautifulSoup(masterlist.content, "html.parser")
- ficno = int(mastersoup.find("span", class_="ficno").text.strip()) + 1
- thefile.write("\n")
- if thetitle == "y":
- thefile.write("
" + str(ficno) + " " + title + "
\n")
- else:
- thefile.write("
" + str(ficno) + "
\n")
- thefile.write("
\n")
- thefile.write("
" + str(summary)[34:-18] + "
\n")
- if notes:
- thefile.write("
" + str(notes)[34:-18] + "
\n")
- thefile.write("
\n")
- thefile.write(" - AO3
\n")
- thefile.write(" - HTML
\n")
- thefile.write(" - PDF
\n")
- thefile.write(" - EPUB
\n")
- thefile.write("
\n")
- thefile.write("
\n")
- print("File saved to " + str(os.path.abspath("ficheader.html")))