Sort fics properly

master
trémeur 1 year ago
parent d1003797f2
commit 663cac35b9

@ -90,26 +90,27 @@ def charlist(local=False):
except: except:
revealed = True revealed = True
if revealed == True: if revealed == True:
ficdict = {"thefic":ficcount,"thedate":(fileread.datewords[-1])["date"]}
if searchfandom in fileread.fandom: if searchfandom in fileread.fandom:
# append to lists # append to lists
try: try:
if character in fileread.charpov: if character in fileread.charpov:
povcount.append(ficcount) povcount.append(ficdict)
except: except:
pass pass
try: try:
if character in fileread.charmain: if character in fileread.charmain:
maincount.append(ficcount) maincount.append(ficdict)
except: except:
pass pass
try: try:
if character in fileread.charsecondary: if character in fileread.charsecondary:
secondarycount.append(ficcount) secondarycount.append(ficdict)
except: except:
pass pass
try: try:
if character in fileread.charmention: if character in fileread.charmention:
mentioncount.append(ficcount) mentioncount.append(ficdict)
except: except:
pass pass
# write details element # write details element
@ -132,25 +133,41 @@ def charlist(local=False):
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>POV character</h1>\n") filewrite.write("<h1>POV character</h1>\n")
filewrite.close() filewrite.close()
povcount = sorted(povcount,key=lambda d: d["thedate"],reverse=True)
newpov = []
for fic in povcount: for fic in povcount:
newpov.append(fic["thefic"])
for fic in newpov:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
if len(maincount) > 0: if len(maincount) > 0:
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>Main character</h1>\n") filewrite.write("<h1>Main character</h1>\n")
filewrite.close() filewrite.close()
maincount = sorted(maincount,key=lambda d: d["thedate"],reverse=True)
newmain = []
for fic in maincount: for fic in maincount:
newmain.append(fic["thefic"])
for fic in newmain:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
if len(secondarycount) > 0: if len(secondarycount) > 0:
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>Secondary character</h1>\n") filewrite.write("<h1>Secondary character</h1>\n")
filewrite.close() filewrite.close()
secondarycount = sorted(secondarycount,key=lambda d: d["thedate"],reverse=True)
newsecondary = []
for fic in secondarycount: for fic in secondarycount:
newsecondary.append(fic["thefic"])
for fic in newsecondary:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
if len(mentioncount) > 0: if len(mentioncount) > 0:
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>Mentioned</h1>\n") filewrite.write("<h1>Mentioned</h1>\n")
filewrite.close() filewrite.close()
mentioncount = sorted(mentioncount,key=lambda d: d["thedate"],reverse=True)
newmention = []
for fic in mentioncount: for fic in mentioncount:
newmention.append(fic["thefic"])
for fic in newmention:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("</details>\n") filewrite.write("</details>\n")

@ -70,7 +70,7 @@ def eventlist(local=False):
if revealed == True: if revealed == True:
try: try:
if fileread.eventname == theevent: if fileread.eventname == theevent:
evententries.append({"ficno":ficcount,"year":(fileread.datewords[0])["date"].year,"fandom":fileread.fandom}) evententries.append({"ficno":ficcount,"year":(fileread.datewords[0])["date"].year,"fandom":fileread.fandom,"update":(fileread.datewords[-1])["date"]})
except: except:
pass pass
eventfandoms = [] eventfandoms = []
@ -102,13 +102,17 @@ def eventlist(local=False):
yearlist = [] yearlist = []
for entry in evententries: for entry in evententries:
if int(entry["year"]) == startyear: if int(entry["year"]) == startyear:
yearlist.append(entry["ficno"]) ficdict = {"thefic":entry["ficno"],"thedate":entry["update"]}
yearlist.append(ficdict)
if len(yearlist) > 0: if len(yearlist) > 0:
yearlist = sorted(yearlist) yearlist = sorted(yearlist,key=lambda d: d["thedate"])
newyear = []
for fic in yearlist:
newyear.append(fic["thefic"])
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>" + str(startyear) + "</h1>\n") filewrite.write("<h1>" + str(startyear) + "</h1>\n")
filewrite.close() filewrite.close()
for fic in yearlist: for fic in newyear:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("</details>\n") filewrite.write("</details>\n")

@ -53,6 +53,7 @@ def fandomlist(local=False):
fandomlist = sorted(fandomlist, key=lambda d: d["sortname"]) fandomlist = sorted(fandomlist, key=lambda d: d["sortname"])
for fandom in fandomlist: for fandom in fandomlist:
fandomfics = [] fandomfics = []
sortfics = []
# check which fics are in the fandom # check which fics are in the fandom
ficcount = 500 ficcount = 500
while ficcount > 0: while ficcount > 0:
@ -75,7 +76,11 @@ def fandomlist(local=False):
revealed = True revealed = True
if revealed == True: if revealed == True:
if fandom["searchname"] in fileread.fandom: if fandom["searchname"] in fileread.fandom:
fandomfics.append(ficcount) ficdict = {"thefic":ficcount,"thedate":(fileread.datewords[-1])["date"]}
sortfics.append(ficdict)
thefics = sorted(sortfics,key=lambda d: d["thedate"],reverse=True)
for fic in thefics:
fandomfics.append(fic["thefic"])
firstfic = fandomfics[-1] firstfic = fandomfics[-1]
if firstfic < 10: if firstfic < 10:
firstficstring = "00" + str(firstfic) firstficstring = "00" + str(firstfic)

@ -16,6 +16,7 @@ def listgen(local=False):
headerfooter.headerwrite("build/masterlist/index.html","Masterlist","Fic masterlist","<p>On this page, from newest to oldest, youll find basically everything Ive ever written that is a. fanfiction and b. extant; quality may vary. Some fics, such as things I wrote before 2020, require a username and password to access.</p>",False,local) headerfooter.headerwrite("build/masterlist/index.html","Masterlist","Fic masterlist","<p>On this page, from newest to oldest, youll find basically everything Ive ever written that is a. fanfiction and b. extant; quality may vary. Some fics, such as things I wrote before 2020, require a username and password to access.</p>",False,local)
# write fic divs # write fic divs
ficcount = 500 ficcount = 500
sortfics = []
while ficcount > 0: while ficcount > 0:
ficcount -= 1 ficcount -= 1
if ficcount < 10: if ficcount < 10:
@ -25,7 +26,18 @@ def listgen(local=False):
else: else:
ficcountstring = str(ficcount) ficcountstring = str(ficcount)
if os.path.exists("originalsmeta/" + ficcountstring + ".py"): if os.path.exists("originalsmeta/" + ficcountstring + ".py"):
makeheader.ficgen(ficcount,True,"build/masterlist/index.html",local) ficfile = "originalsmeta." + ficcountstring
fileread = import_module(ficfile)
try:
if fileread.revealdate <= datetime.datetime.now():
ficdict = {"thefic":ficcount,"thedate":(fileread.datewords[-1])["date"]}
sortfics.append(ficdict)
except:
ficdict = {"thefic":ficcount,"thedate":(fileread.datewords[-1])["date"]}
sortfics.append(ficdict)
thefics = sorted(sortfics, key=lambda d: d["thedate"],reverse=True)
for fic in thefics:
makeheader.ficgen(fic["thefic"],True,"build/masterlist/index.html",local)
# write footer # write footer
headerfooter.footerwrite("build/masterlist/index.html",False,local) headerfooter.footerwrite("build/masterlist/index.html",False,local)

@ -78,13 +78,14 @@ def shiplist(local=False):
except: except:
revealed = True revealed = True
if revealed == True: if revealed == True:
ficdict = {"thefic":ficcount,"thedate":(fileread.datewords[-1])["date"]}
if searchfandom in fileread.fandom: if searchfandom in fileread.fandom:
# append to lists # append to lists
try: try:
if fileread.ship[0] == ship: if fileread.ship[0] == ship:
maincount.append(ficcount) maincount.append(ficdict)
elif ship in fileread.ship: elif ship in fileread.ship:
secondarycount.append(ficcount) secondarycount.append(ficdict)
except: except:
pass pass
# write details element # write details element
@ -103,13 +104,21 @@ def shiplist(local=False):
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>Main ship</h1>\n") filewrite.write("<h1>Main ship</h1>\n")
filewrite.close() filewrite.close()
maincount = sorted(maincount,key=lambda d: d["thedate"],reverse=True)
newmain = []
for fic in maincount: for fic in maincount:
newmain.append(fic["thefic"])
for fic in newmain:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
if len(secondarycount) > 0: if len(secondarycount) > 0:
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("<h1>Secondary ship</h1>\n") filewrite.write("<h1>Secondary ship</h1>\n")
filewrite.close() filewrite.close()
secondarycount = sorted(secondarycount,key=lambda d: d["thedate"],reverse=True)
newsecondary = []
for fic in secondarycount: for fic in secondarycount:
newsecondary.append(fic["thefic"])
for fic in newsecondary:
makeheader.ficgen(fic,False,output,local) makeheader.ficgen(fic,False,output,local)
filewrite = open(output, "a") filewrite = open(output, "a")
filewrite.write("</details>\n") filewrite.write("</details>\n")

Loading…
Cancel
Save