diff --git a/new.py b/new.py index 20a0104..99c2f28 100644 --- a/new.py +++ b/new.py @@ -175,6 +175,73 @@ while ficcount > 0: ficdict["pdf"] = True else: ficdict["pdf"] = False + try: + if int((str(fileread.warnstring))[1]) == 3: + ficdict["sex"] = "lemon" + elif int((str(fileread.warnstring))[1]) == 2: + ficdict["sex"] = "lime" + elif int((str(fileread.warnstring))[1]) == 1: + ficdict["sex"] = "ref" + elif int((str(fileread.warnstring))[1]) == 0: + ficdict["sex"] = None + if int((str(fileread.warnstring))[2]) == 2: + ficdict["death"] = "death" + elif int((str(fileread.warnstring))[2]) == 1: + ficdict["death"] = "ref" + elif int((str(fileread.warnstring))[2]) == 0: + ficdict["death"] = None + if int((str(fileread.warnstring))[3]) == 2: + ficdict["mh"] = "mh" + elif int((str(fileread.warnstring))[3]) == 1: + ficdict["mh"] = "ref" + elif int((str(fileread.warnstring))[3]) == 0: + ficdict["mh"] = None + if int((str(fileread.warnstring))[4]) == 2: + ficdict["bigotry"] = "bigotry" + elif int((str(fileread.warnstring))[4]) == 1: + ficdict["bigotry"] = "ref" + elif int((str(fileread.warnstring))[4]) == 0: + ficdict["bigotry"] = None + if int((str(fileread.warnstring))[5]) == 2: + ficdict["vomiting"] = "vomiting" + elif int((str(fileread.warnstring))[5]) == 1: + ficdict["vomiting"] = "ref" + elif int((str(fileread.warnstring))[5]) == 0: + ficdict["vomiting"] = None + if int((str(fileread.warnstring))[6]) == 2: + ficdict["consent"] = "consent" + elif int((str(fileread.warnstring))[6]) == 1: + ficdict["consent"] = "ref" + elif int((str(fileread.warnstring))[6]) == 0: + ficdict["consent"] = None + if int((str(fileread.warnstring))[7]) == 2: + ficdict["underage"] = "underage" + elif int((str(fileread.warnstring))[7]) == 1: + ficdict["underage"] = "ref" + elif int((str(fileread.warnstring))[7]) == 0: + ficdict["underage"] = None + if int((str(fileread.warnstring))[8]) == 2: + ficdict["incest"] = "incest" + elif int((str(fileread.warnstring))[8]) == 1: + ficdict["incest"] = "ref" + elif int((str(fileread.warnstring))[8]) == 0: + ficdict["incest"] = None + if int((str(fileread.warnstring))[9]) == 2: + ficdict["amp"] = "amp" + elif int((str(fileread.warnstring))[9]) == 1: + ficdict["amp"] = "ref" + elif int((str(fileread.warnstring))[9]) == 0: + ficdict["amp"] = None + except: + ficdict["sex"] = None + ficdict["death"] = None + ficdict["mh"] = None + ficdict["bigotry"] = None + ficdict["vomiting"] = None + ficdict["consent"] = None + ficdict["underage"] = None + ficdict["incest"] = None + ficdict["amp"] = None try: transid = stringno(fileread.translation) if os.path.exists("files/translationsmeta/" + transid + ".py"): @@ -241,7 +308,7 @@ for promptmeme in promptmemes: for year in years: output.write("\n form:has([value=\"" + str(year) + "\"]:checked) ~ div.fic:not(.date-" + str(year) + "),") -output.write("\n form:has([value=\"unprompted\"]:checked) ~ div.fic:not(.unprompted),\n form:has([value=\"crossover\"]:checked) ~ div.fic:not(.fandom-crossover),\n form:has([value=\"ow\"]:checked) ~ div.fic:not(.fandom-ow),\n form:has([value=\"nolemons\"]:checked) ~ div.fic:has(span.lemon),\n form:has([value=\"nolimes\"]:checked) ~ div.fic:has(span.lime),\n form:has([value=\"lemonlime\"]:checked) ~ div.fic:not(:has(span.lime)),\n form:has([value=\"drabble\"]:checked) ~ div.fic:not(.format-drabble),\n form:has([value=\"drabblefam\"]:checked) ~ div.fic:not(.format-drabblefam),\n form:has([value=\"three\"]:checked) ~ div.fic:not(.format-three),\n form:has([value=\"oneshot\"]:checked) ~ div.fic:not(.format-oneshot),\n form:has([value=\"chaptered\"]:checked) ~ div.fic:not(.format-chaptered),\n form:has([value=\"unusual\"]:checked) ~ div.fic:not(.format-unusual),\n form:has([value=\"unpassword\"]:checked) ~ div.fic.locked,\n form:has([value=\"gen\"]:checked) ~ div.fic:not(:has(span.ship.gen)),\n form:has([value=\"bl\"]:checked) ~ div.fic:not(:has(span.ship.bl)),\n form:has([value=\"gl\"]:checked) ~ div.fic:not(:has(span.ship.gl)),\n form:has([value=\"hetero\"]:checked) ~ div.fic:not(:has(span.ship.hetero)) {\n display: none;\n }\n span.spoiler {\n filter: blur(5px);\n }\n span.spoiler:hover {\n filter: none;\n }\n div.fic span.warning {\n cursor: help;\n }\n span.warning.lime:not(.lemon) {\n filter: hue-rotate(70deg);\n }\n span.warning.reference, span.warning.reference.lime:not(.lemon) {\n filter: grayscale(100%);\n }\n span.warning:hover {\n filter: brightness(120%);\n }\n span.warning.lime:not(.lemon):hover {\n filter: hue-rotate(70deg) brightness(120%);\n }\n span.warning.reference:hover {\n filter: grayscale(50%);\n }\n span.warning.reference.lime:not(.lemon):hover {\n filter: hue-rotate(70deg) grayscale(50%);\n }\n span.ship {\n font-weight: bold;\n }\n span.ship:not(.gen) {\n border-bottom: 2px dotted var(--highlight-colour);\n cursor: help;\n }\n span.bl {\n color: rgb(148,187,233);\n }\n span.gl {\n color: rgb(238,174,202);\n }\n span.hetero {\n color: rgb(193,181,218)\n }\n span.minor {\n font-size: 0em;\n }\n span.minor:before {\n content: \"…\";\n font-size: 1rem;\n }\n span.minor:hover {\n font-size: 0.7rem;\n }\n span.minor:hover:before {\n content: \"\";\n }\n div#ficring {\n margin: 0 auto;\n width: fit-content;\n }\n div#ficring a {\n border: none;\n }\n \n \n \n \n
\n
\n
\n

Fanfiction

\n

I’m partway through redesigning my fic archive and plan to gradually reinstate some of the features it used to have; for now, here’s a filterable masterlist. Warnings and ratings are not currently implemented, browse at your own risk. Some fics will have slight inaccuracies in metadata for the time being!

\n
\n \n
\n
\n \n \n \n \n \n
\n
\n
\n

Fanfiction

\n

I’m partway through redesigning my fic archive and plan to gradually reinstate some of the features it used to have; for now, here’s a filterable masterlist. Some fics will have slight inaccuracies in metadata for the time being, browse at your own risk!

\n
\n \n
\n \n \n \n \n
\n for year in years: output.write("\n ") -output.write("\n \n
\n
\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n ") +output.write("\n \n \n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n Key to symbols\n
    \n
  • 🍋 – explicit sexual content
  • \n
  • 🍋 – non-explicit sexual content
  • \n
  • 💀 – death
  • \n
  • 😢 – mental health themes (may include self-injury, suicidal ideation, suicide attempts)
  • \n
  • 🚫 – in-universe bigotry
  • \n
  • 🤢 – vomiting
  • \n
  •  – consent issues
  • \n
  • 👶 – underage sexual activity according to modern UK law
  • \n
  • 🦎 – incest
  • \n
  • 🦶 – amputation
  • \n
\n

When a warning is shown in greyscale, this means there are references to the relevant theme but no on-screen portrayal.

\n
") for fic in ficlist: output.write("\n
🍋") + elif fic["sex"] == "lime": + output.write(" 🍋") + elif fic["sex"] == "ref": + output.write(" 🍋") + if fic["death"] == "death": + output.write(" 💀") + elif fic["death"] == "ref": + output.write(" 💀") + if fic["mh"] == "mh": + output.write(" 😢") + elif fic["mh"] == "ref": + output.write(" 😢") + if fic["bigotry"] == "bigotry": + output.write(" 🚫") + elif fic["bigotry"] == "ref": + output.write(" 🚫") + if fic["vomiting"] == "vomiting": + output.write(" 🤢") + elif fic["vomiting"] == "ref": + output.write(" 🤢") + if fic["consent"] == "consent": + output.write(" ") + elif fic["consent"] == "ref": + output.write(" ") + if fic["underage"] == "underage": + output.write(" 👶") + elif fic["underage"] == "ref": + output.write(" 👶") + if fic["incest"] == "incest": + output.write(" 🦶") + elif fic["incest"] == "ref": + output.write(" 🦎") + if fic["amp"] == "amp": + output.write(" 🦶") + elif fic["amp"] == "ref": + output.write(" 🦎") output.write("") try: output.write("\n
  • Written for " + fic["event"] + ".") diff --git a/originals-template.py b/originals-template.py index 3f44c8d..4bede7d 100644 --- a/originals-template.py +++ b/originals-template.py @@ -19,6 +19,7 @@ fandom = [""] # ship = [""] genre = [""] # warnings = "" +warnstring = 9000000000 # 9 is a dummy; then sex (0–3), death, mental health, bigotry, vomiting, consent, underage, incest, amputation (all others being 0–2) time = "" location = [""] # locationtext = ""