import datetime from importlib import import_module from dateutil.relativedelta import relativedelta fffandoms = ["FF1","FF2","FF3","FF4","FF5","FF6","FF7","FF8","FF9","FFX","FF11","FF12","FF13","FF14","FF15","FF16"] """ Code to generate the fic header div """ def linkgen(ficno,output="output.html",local=False): # convert to three-digit number if ficno < 10: ficnostring = "00" + str(ficno) elif ficno < 100: ficnostring = "0" + str(ficno) else: ficnostring = str(ficno) # open the file ficfile = "files.originalsmeta." + ficnostring fileread = import_module(ficfile) # open translation file if there is one try: if fileread.translation: if fileread.translation < 10: translationstring = "00" + str(fileread.translation) elif fileread.translation < 100: translationstring = "0" + str(fileread.translation) else: translationstring = str(fileread.translation) translationfile = "files.translationsmeta." + translationstring transread = import_module(translationfile) except: pass filewrite = open(output, "a") filewrite.write("
Summary: " + transread.summary) try: filewrite.write(" " + fileread.summary + "
\n") except: filewrite.write("\n") except: try: filewrite.write("Summary: " + fileread.summary + "
\n") except: pass elif transread.language == "fr": try: filewrite.write("Summary: " + fileread.summary) try: filewrite.write(" " + transread.summary + "
\n") except: filewrite.write("\n") except: try: filewrite.write("Summary: " + transread.summary + "
\n") except: pass except: try: filewrite.write("" + fileread.summary + "
\n") except: pass # set up notes paragraph if required if (fileread.datewords[0])["date"].year < 2011: juvenilia = True else: juvenilia = False try: if fileread.notes: filewrite.write("Notes: ") except: try: if fileread.event: filewrite.write("
Notes: ") except: if juvenilia: filewrite.write("
Notes: ")
# if juvenilia, add age
if juvenilia:
age = relativedelta((fileread.datewords[0])["date"], datetime.datetime(1993,6,28)).years
filewrite.write("Age at time of writing: " + str(age) + ".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
# write event details if there are any
try:
if fileread.eventname == "fail-fandomanon":
filewrite.write("In response to prompt at fail_fandomanon: " + fileread.prompt + ".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
elif fileread.eventname == "robotsoup":
filewrite.write("Written for
kalloway’s " + fileread.eventdeets + " fest.")
elif fileread.eventname == "#ficwip":
filewrite.write("Written for the #ficwip event " + fileread.eventdeets + "")
if fileread.event == "prompt":
filewrite.write(", in response to prompt, " + fileread.prompt + "")
filewrite.write(".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
else:
filewrite.write("Written for ")
try:
if fileread.eventlocation == "dwcomm":
filewrite.write("
" + fileread.eventname.replace("-","_") + "")
elif fileread.eventlocation == "dwjournal":
filewrite.write("
" + fileread.eventname.replace("-","_")+ "")
elif fileread.eventlocation == "ljjournal":
filewrite.write("
" + fileread.eventname.replace("-","_")+ "")
except:
if fileread.eventname == "Semaine de la fic française":
filewrite.write("Semaine de la fic française")
else:
filewrite.write(fileread.eventname)
try:
if fileread.eventfrequency == "annual":
filewrite.write(" " + str((fileread.datewords[0])["date"].year))
else:
filewrite.write(" " + fileread.eventfrequency)
except:
pass
if fileread.event == "prompt":
filewrite.write(", in response to ")
try:
if fileread.recip:
try:
if fileread.recipsite == "dw":
filewrite.write("
" + fileread.recip.replace("-","_") + "")
elif fileread.recipsite == "ao3":
try:
if fileread.recippseud:
filewrite.write("
" + fileread.recippseud + " (" + fileread.recip + ")")
except:
filewrite.write("
" + fileread.recip + "")
elif fileread.recipsite == "tumblr":
filewrite.write("
" + fileread.recip + "")
except:
filewrite.write(fileread.recip)
filewrite.write("’s ")
except:
pass
filewrite.write("prompt, " + fileread.prompt + ".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
elif fileread.event == "exchange" or fileread.event == "ao3exchange":
filewrite.write(", a gift for ")
try:
if fileread.recipsite == "dw":
filewrite.write("
" + fileread.recip.replace("-","_") + "")
elif fileread.recipsite == "ao3":
try:
if fileread.recippseud:
filewrite.write("
" + fileread.recippseud + " (" + fileread.recip + ")")
except:
filewrite.write("
" + fileread.recip + "")
elif fileread.recipsite == "tumblr":
filewrite.write("
" + fileread.recip + "")
except:
filewrite.write(fileread.recip)
filewrite.write(".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
else:
filewrite.write(".")
try:
if fileread.notes:
filewrite.write(" ")
except:
pass
except:
pass
# write notes if there are any
try:
filewrite.write(fileread.notes + "