Delete unused script
This commit is contained in:
parent
ec80f04586
commit
ac1105f6cc
1 changed files with 0 additions and 170 deletions
170
fic-header.py
170
fic-header.py
|
@ -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"</p><p>\n<small><b>Standard note for 3sf fills:</b> I’m aware that some AO3 users may not consider prompt fills “gifts”, and will take no offence if the gift is refused!</small>","",notesc)
|
|
||||||
notes = re.sub(r"\n</p>","</p>",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("<div class=\"fic\" id=\"fic" + str(ficno) + "\">\n")
|
|
||||||
if thetitle == "y":
|
|
||||||
thefile.write(" <h1><span class=\"ficno\">" + str(ficno) + "</span> <span class=\"fictitle\">" + title + "</span></h1>\n")
|
|
||||||
else:
|
|
||||||
thefile.write(" <h1><span class=\"ficno\">" + str(ficno) + "</span></h1>\n")
|
|
||||||
thefile.write(" <ul class=\"ficmeta\">\n")
|
|
||||||
thefile.write(" <li class=\"ficdate\">" + prazedate + "</li>\n")
|
|
||||||
thefile.write(" <li class=\"wordcount\">" + str(words) + "</li>\n")
|
|
||||||
if prazerating == "g":
|
|
||||||
thefile.write(" <li class=\"rating\"><span class=\"" + prazerating + "\"/></li>\n")
|
|
||||||
else:
|
|
||||||
thefile.write(" <li class=\"rating\"><span class=\"" + prazerating + "\"/> ()</li>\n")
|
|
||||||
thefile.write(" <li class=\"fandom\">" + "/".join(fandoms) + "</li>\n")
|
|
||||||
thefile.write(" <li class=\"characters\">" + ", ".join(characters) + "</li>\n")
|
|
||||||
thefile.write(" <li class=\"genre\">" + ", ".join(prazegenre) + "</li>\n")
|
|
||||||
if prazewarn:
|
|
||||||
thefile.write(" <li class=\"warnings\">" + ", ".join(prazewarnings) + "</li>\n")
|
|
||||||
thefile.write(" </ul>\n")
|
|
||||||
thefile.write(" <p class=\"summary\">" + str(summary)[34:-18] + "</p>\n")
|
|
||||||
if notes:
|
|
||||||
thefile.write(" <p class=\"note\">" + str(notes)[34:-18] + "</p>\n")
|
|
||||||
thefile.write(" <ul class=\"ficlinks\">\n")
|
|
||||||
thefile.write(" <li class=\"ao3link\"><a href=\"https://archiveofourown.org/works/" + str(id) + "\">AO3</a></li>\n")
|
|
||||||
thefile.write(" <li class=\"prazelink\"><a href=\"files/" + str(ficno) + ".html\">HTML</a></li>\n")
|
|
||||||
thefile.write(" <li class=\"prazelink\"><a href=\"files/" + str(ficno) + ".pdf\">PDF</a></li>\n")
|
|
||||||
thefile.write(" <li class=\"prazelink\"><a href=\"files/" + str(ficno) + ".epub\">EPUB</a></li>\n")
|
|
||||||
thefile.write(" </ul>\n")
|
|
||||||
thefile.write("</div>\n")
|
|
||||||
print("File saved to " + str(os.path.abspath("ficheader.html")))
|
|
Loading…
Add table
Add a link
Reference in a new issue