@ -35,377 +35,379 @@ def ficgen(ficno,unique=False,output="output.html",local=False):
translationfile = " translationsmeta. " + translationstring
transread = import_module ( translationfile )
except :
pass
# write to output file
filewrite = open ( output , " a " )
filewrite . write ( " <div class= \" fic \" " )
# give the div an id if requested
if unique :
filewrite . write ( " id= \" fic " + ficnostring + " \" " )
filewrite . write ( " > \n <h1><span class= \" ficno \" > " + ficnostring )
# write ficno including translation if there is one
pass
try :
filewrite . write ( " / " + translationstring )
if fileread . revealdate > datetime . datetime . now ( ) :
revealed = False
else :
revealed = True
except :
pass
filewrite . write ( " </span> " )
# write title if requested
if fileread . showtitle :
filewrite . write ( " <span class= \" fictitle \" > " + fileread . title )
revealed = True
if revealed == True :
# write to output file
filewrite = open ( output , " a " )
filewrite . write ( " <div class= \" fic \" " )
# give the div an id if requested
if unique :
filewrite . write ( " id= \" fic " + ficnostring + " \" " )
filewrite . write ( " > \n <h1><span class= \" ficno \" > " + ficnostring )
# write ficno including translation if there is one
try :
if transread . showtitle :
filewrite . write ( " / " + transread . title )
filewrite . write ( " / " + translationstring )
except :
pass
filewrite . write ( " </span> " )
else :
try :
if transread . showtitle :
filewrite . write ( " <span class= \" fictitle \" > " + transread . title )
except :
pass
if fileread . status == " abandoned " :
filewrite . write ( " <span class= \" abandoned \" ></span> " )
filewrite . write ( " </h1> \n <ul class= \" ficmeta \" > \n <li class= \" ficdate \" > " )
# write date, date range if ranged or translation
if fileread . status == " incomplete " :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " )
else :
try :
if transread . status == " incomplete " :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " )
else :
if fileread . translation :
if ( transread . datewords [ - 1 ] ) [ " date " ] . year == ( fileread . datewords [ 0 ] ) [ " date " ] . year :
if ( transread . datewords [ - 1 ] ) [ " date " ] . month == ( fileread . datewords [ 0 ] ) [ " date " ] . month :
if ( transread . datewords [ - 1 ] ) [ " date " ] . date == ( fileread . datewords [ 0 ] ) [ " date " ] . date :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
except :
try :
filewrite . write ( fileread . approxdate )
except :
if ( fileread . datewords [ 0 ] ) [ " date " ] . year == ( fileread . datewords [ - 1 ] ) [ " date " ] . year :
if ( fileread . datewords [ 0 ] ) [ " date " ] . month == ( fileread . datewords [ - 1 ] ) [ " date " ] . month :
if ( fileread . datewords [ 0 ] ) [ " date " ] == ( fileread . datewords [ - 1 ] ) [ " date " ] :
filewrite . write ( ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
# write wordcount
sumwords = 0
for instalment in fileread . datewords :
sumwords = sumwords + instalment [ " words " ]
filewrite . write ( " </li> \n <li class= \" wordcount \" > " + str ( sumwords ) )
transwords = 0
try :
for instalment in transread . datewords :
transwords = transwords + instalment [ " words " ]
filewrite . write ( " + " + str ( transwords ) )
except :
pass
# write rating
filewrite . write ( " </li> \n <li class= \" rating \" ><span class= \" " + fileread . rating + " \" > " )
# write reason for rating if there is one
try :
filewrite . write ( " ( " + fileread . ratingreason + " ) " )
except :
pass
filewrite . write ( " </span></li> \n <li class= \" fandom \" > " )
# write fandom
try :
filewrite . write ( fileread . fandomtext )
except :
filewrite . write ( " / " . join ( fileread . fandom ) )
filewrite . write ( " </li> \n " )
# write characters in pov, main, secondary categories, if they exist
try :
filewrite . write ( " <li class= \" characters \" > " + fileread . charactertext + " </li> \n " )
except :
try :
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charpov ) )
# write title if requested
if fileread . showtitle :
filewrite . write ( " <span class= \" fictitle \" > " + fileread . title )
try :
filewrite . write ( " , " + " , " . join ( fileread . charmain ) )
if transread . showtitle :
filewrite . write ( " / " + transread . title )
except :
pass
filewrite . write ( " </span> " )
else :
try :
filewrite . write ( " , " + " <small> " + " , " . join ( fileread . charsecondary ) + " </small> " )
if transread . showtitle :
filewrite . write ( " <span class= \" fictitle \" > " + transread . title )
except :
pass
filewrite . write ( " </li> \n " )
except :
if fileread . status == " abandoned " :
filewrite . write ( " <span class= \" abandoned \" ></span> " )
filewrite . write ( " </h1> \n <ul class= \" ficmeta \" > \n <li class= \" ficdate \" > " )
# write date, date range if ranged or translation
if fileread . status == " incomplete " :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " )
else :
try :
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charmain ) )
try :
filewrite . write ( " , " + " <small> " + " , " . join ( fileread . charsecondary ) + " </small> " )
except :
pass
filewrite . write ( " </li> \n " )
if transread . status == " incomplete " :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " )
else :
if fileread . translation :
if ( transread . datewords [ - 1 ] ) [ " date " ] . year == ( fileread . datewords [ 0 ] ) [ " date " ] . year :
if ( transread . datewords [ - 1 ] ) [ " date " ] . month == ( fileread . datewords [ 0 ] ) [ " date " ] . month :
if ( transread . datewords [ - 1 ] ) [ " date " ] . date == ( fileread . datewords [ 0 ] ) [ " date " ] . date :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " + ( transread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
except :
try :
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charsecondary ) + " </li> \n " )
filewrite . write ( fileread . approxdate )
except :
pass
# write genre
filewrite . write ( " <li class= \" genre \" > " + " , " . join ( fileread . genre ) + " </li> \n " )
# write warnings if they exist
try :
filewrite . write ( " <li class= \" warnings \" > " + fileread . warnings + " </li> \n " )
except :
pass
# write point in canon if there is one
try :
filewrite . write ( " <li class= \" time \" > " + fileread . time + " </li> \n " )
except :
pass
# write locations if there are any
try :
filewrite . write ( " <li class= \" location \" > " + fileread . locationtext + " </li> \n " )
except :
if ( fileread . datewords [ 0 ] ) [ " date " ] . year == ( fileread . datewords [ - 1 ] ) [ " date " ] . year :
if ( fileread . datewords [ 0 ] ) [ " date " ] . month == ( fileread . datewords [ - 1 ] ) [ " date " ] . month :
if ( fileread . datewords [ 0 ] ) [ " date " ] == ( fileread . datewords [ - 1 ] ) [ " date " ] :
filewrite . write ( ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
else :
filewrite . write ( ( fileread . datewords [ 0 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) + " – " + ( fileread . datewords [ - 1 ] ) [ " date " ] . strftime ( " %-d % B % Y " ) )
# write wordcount
sumwords = 0
for instalment in fileread . datewords :
sumwords = sumwords + instalment [ " words " ]
filewrite . write ( " </li> \n <li class= \" wordcount \" > " + str ( sumwords ) )
transwords = 0
try :
filewrite . write ( " <li class= \" location \" > " + " , " . join ( fileread . location ) + " </li> \n " )
for instalment in transread . datewords :
transwords = transwords + instalment [ " words " ]
filewrite . write ( " + " + str ( transwords ) )
except :
pass
filewrite . write ( " </ul> \n " )
# write summary if there is one
try :
if transread . language == " en " :
# write rating
filewrite . write ( " </li> \n <li class= \" rating \" ><span class= \" " + fileread . rating + " \" > " )
# write reason for rating if there is one
try :
filewrite . write ( " ( " + fileread . ratingreason + " ) " )
except :
pass
filewrite . write ( " </span></li> \n <li class= \" fandom \" > " )
# write fandom
try :
filewrite . write ( fileread . fandomtext )
except :
filewrite . write ( " / " . join ( fileread . fandom ) )
filewrite . write ( " </li> \n " )
# write characters in pov, main, secondary categories, if they exist
try :
filewrite . write ( " <li class= \" characters \" > " + fileread . charactertext + " </li> \n " )
except :
try :
filewrite . write ( " <p class= \" summary \" > " + transread . summary )
try :
filewrite . write ( " " + fileread . summary + " </p> \n " )
except :
filewrite . write ( " </p> \n " )
except :
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charpov ) )
try :
filewrite . write ( " <p class= \" summary \" > " + fileread . summary + " </p> \n " )
filewrite . write ( " , " + " , " . join ( fileread . charmain ) )
except :
pass
elif transread . language == " fr " :
try :
filewrite . write ( " <p class= \" summary \" > " + fileread . summary )
try :
filewrite . write ( " " + transread . summary + " </p> \n " )
filewrite . write ( " , " + " <small> " + " , " . join ( fileread . charsecondary ) + " </small> " )
except :
filewrite . write ( " </p> \n " )
pass
filewrite . write ( " </li> \n " )
except :
try :
filewrite . write ( " <p class= \" summary \" > " + transread . summary + " </p> \n " )
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charmain ) )
try :
filewrite . write ( " , " + " <small> " + " , " . join ( fileread . charsecondary ) + " </small> " )
except :
pass
filewrite . write ( " </li> \n " )
except :
pass
except :
try :
filewrite . write ( " <li class= \" characters \" > " + " , " . join ( fileread . charsecondary ) + " </li> \n " )
except :
pass
# write genre
filewrite . write ( " <li class= \" genre \" > " + " , " . join ( fileread . genre ) + " </li> \n " )
# write warnings if they exist
try :
filewrite . write ( " <p class= \" summary \" > " + fileread . summary + " </p> \n " )
filewrite . write ( " < li class=\" warnings \" > " + fileread . warnings + " </li >\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 ( " <p class= \" note \" > " )
except :
# write point in canon if there is one
try :
if fileread . event :
filewrite . write ( " <p class= \" note \" > " )
filewrite . write ( " <li class= \" time \" > " + fileread . time + " </li> \n " )
except :
if juvenilia :
filewrite . write ( " <p class= \" note \" > " )
# 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 ) + " . " )
pass
# write locations if there are any
try :
if fileread . notes :
filewrite . write ( " " )
filewrite . write ( " <li class= \" location \" > " + fileread . locationtext + " </li> \n " )
except :
pass
# write event details if there are any
try :
if fileread . eventname == " fail-fandomanon " :
filewrite . write ( " In response to prompt at <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://fail-fandomanon.dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/community.png \" alt= \" [community profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://fail-fandomanon.dreamwidth.org/ \" ><b>fail_fandomanon</b></a></span>: <i> " + fileread . prompt + " </i>. " )
try :
if fileread . notes :
filewrite . write ( " " )
filewrite . write ( " <li class= \" location \" > " + " , " . join ( fileread . location ) + " </li> \n " )
except :
pass
elif fileread . eventname == " robotsoup " :
filewrite . write ( " Written for <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://kalloway.dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://kalloway.dreamwidth.org/ \" ><b>kalloway</b></a></span>’ s " + fileread . eventdeets + " fest. " )
filewrite . write ( " </ul> \n " )
# write summary if there is one
try :
if transread . language == " en " :
try :
filewrite . write ( " <p class= \" summary \" > " + transread . summary )
try :
filewrite . write ( " " + fileread . summary + " </p> \n " )
except :
filewrite . write ( " </p> \n " )
except :
try :
filewrite . write ( " <p class= \" summary \" > " + fileread . summary + " </p> \n " )
except :
pass
elif transread . language == " fr " :
try :
filewrite . write ( " <p class= \" summary \" > " + fileread . summary )
try :
filewrite . write ( " " + transread . summary + " </p> \n " )
except :
filewrite . write ( " </p> \n " )
except :
try :
filewrite . write ( " <p class= \" summary \" > " + transread . summary + " </p> \n " )
except :
pass
except :
try :
if fileread . notes :
filewrite . write ( " " )
filewrite . write ( " <p class= \" summary \" > " + fileread . summary + " </p> \n " )
except :
pass
# set up notes paragraph if required
if ( fileread . datewords [ 0 ] ) [ " date " ] . year < 2011 :
juvenilia = True
else :
filewrite . write ( " Written for " )
juvenilia = False
try :
if fileread . notes :
filewrite . write ( " <p class= \" note \" > " )
except :
try :
if fileread . eventlocation == " dwcomm " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/community.png \" alt= \" [community profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . eventlocation == " dwjournal " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . eventlocation == " ljjournal " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .livejournal.com/profile \" ><img src= \" https://www.dreamwidth.org/img/external/lj-userinfo.gif \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .livejournal.com/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
if fileread . event :
filewrite . write ( " <p class= \" note \" > " )
except :
if fileread . eventname == " Semaine de la fic française " :
filewrite . write ( " <i>Semaine de la fic française</i> " )
else :
filewrite . write ( fileread . eventname )
if juvenilia :
filewrite . write ( " <p class= \" note \" > " )
# 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 . eventfrequency == " annual " :
filewrite . write ( " " + str ( ( fileread . datewords [ 0 ] ) [ " date " ] . year ) )
else :
filewrite . write ( " " + fileread . eventfrequency )
if fileread . notes :
filewrite . write ( " " )
except :
pass
if fileread . event == " prompt " :
filewrite . write ( " , in response to " )
try :
if fileread . recip :
try :
if fileread . recipsite == " dw " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . recip . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . recipsite == " ao3 " :
try :
if fileread . recippseud :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /pseuds/ " + fileread . recippseud . replace ( " " , " % 20 " ) + " \" ><b> " + fileread . recippseud + " ( " + fileread . recip + " )</b></a></span> " )
except :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " \" ><b> " + fileread . recip + " </b></a></span> " )
elif fileread . recipsite == " tumblr " :
filewrite . write ( " <span style= \" white-space: nowrap; \" ><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><img src= \" https://www.tumblr.com/favicon.ico \" alt= \" [tumblr.com profile] \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" width= \" 16 \" height= \" 16 \" ></a><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><b> " + fileread . recip + " </b></a></span> " )
except :
filewrite . write ( fileread . recip )
filewrite . write ( " ’ s " )
except :
pass
filewrite . write ( " prompt, <i> " + fileread . prompt + " </i>. " )
# write event details if there are any
try :
if fileread . eventname == " fail-fandomanon " :
filewrite . write ( " In response to prompt at <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://fail-fandomanon.dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/community.png \" alt= \" [community profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://fail-fandomanon.dreamwidth.org/ \" ><b>fail_fandomanon</b></a></span>: <i> " + fileread . prompt + " </i>. " )
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 ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . recip . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . recipsite == " ao3 " :
try :
if fileread . recippseud :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /pseuds/ " + fileread . recippseud . replace ( " " , " % 20 " ) + " \" ><b> " + fileread . recippseud + " ( " + fileread . recip + " )</b></a></span> " )
except :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " \" ><b> " + fileread . recip + " </b></a></span> " )
elif fileread . recipsite == " tumblr " :
filewrite . write ( " <span style= \" white-space: nowrap; \" ><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><img src= \" https://www.tumblr.com/favicon.ico \" alt= \" [tumblr.com profile] \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" width= \" 16 \" height= \" 16 \" ></a><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><b> " + fileread . recip + " </b></a></span> " )
except :
filewrite . write ( fileread . recip )
filewrite . write ( " . " )
elif fileread . eventname == " robotsoup " :
filewrite . write ( " Written for <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://kalloway.dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://kalloway.dreamwidth.org/ \" ><b>kalloway</b></a></span>’ s " + fileread . eventdeets + " fest. " )
try :
if fileread . notes :
filewrite . write ( " " )
except :
pass
else :
filewrite . write ( " . " )
filewrite . write ( " Written for " )
try :
if fileread . notes :
filewrite . write ( " " )
if fileread . eventlocation == " dwcomm " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/community.png \" alt= \" [community profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . eventlocation == " dwjournal " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . eventlocation == " ljjournal " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .livejournal.com/profile \" ><img src= \" https://www.dreamwidth.org/img/external/lj-userinfo.gif \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . eventname . replace ( " _ " , " - " ) + " .livejournal.com/ \" ><b> " + fileread . eventname . replace ( " - " , " _ " ) + " </b></a></span> " )
except :
if fileread . eventname == " Semaine de la fic française " :
filewrite . write ( " <i>Semaine de la fic française</i> " )
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
except :
pass
# write notes if there are any
try :
filewrite . write ( fileread . notes + " </p> \n " )
except :
if fileread . event == " prompt " :
filewrite . write ( " , in response to " )
try :
if fileread . recip :
try :
if fileread . recipsite == " dw " :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . recip . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . recipsite == " ao3 " :
try :
if fileread . recippseud :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /pseuds/ " + fileread . recippseud . replace ( " " , " % 20 " ) + " \" ><b> " + fileread . recippseud + " ( " + fileread . recip + " )</b></a></span> " )
except :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " \" ><b> " + fileread . recip + " </b></a></span> " )
elif fileread . recipsite == " tumblr " :
filewrite . write ( " <span style= \" white-space: nowrap; \" ><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><img src= \" https://www.tumblr.com/favicon.ico \" alt= \" [tumblr.com profile] \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" width= \" 16 \" height= \" 16 \" ></a><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><b> " + fileread . recip + " </b></a></span> " )
except :
filewrite . write ( fileread . recip )
filewrite . write ( " ’ s " )
except :
pass
filewrite . write ( " prompt, <i> " + fileread . prompt + " </i>. " )
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 ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/profile \" ><img src= \" https://www.dreamwidth.org/img/silk/identity/user.png \" alt= \" [personal profile] \" width= \" 17 \" height= \" 17 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https:// " + fileread . recip . replace ( " _ " , " - " ) + " .dreamwidth.org/ \" ><b> " + fileread . recip . replace ( " - " , " _ " ) + " </b></a></span> " )
elif fileread . recipsite == " ao3 " :
try :
if fileread . recippseud :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /pseuds/ " + fileread . recippseud . replace ( " " , " % 20 " ) + " \" ><b> " + fileread . recippseud + " ( " + fileread . recip + " )</b></a></span> " )
except :
filewrite . write ( " <span style= \" white-space: nowrap; \" class= \" ljuser \" ><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " /profile \" ><img src= \" https://p.dreamwidth.org/b164c54b26e4/-/archiveofourown.org/favicon.ico \" alt= \" [archiveofourown.org profile] \" width= \" 16 \" height= \" 16 \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" ></a><a href= \" https://archiveofourown.org/users/ " + fileread . recip + " \" ><b> " + fileread . recip + " </b></a></span> " )
elif fileread . recipsite == " tumblr " :
filewrite . write ( " <span style= \" white-space: nowrap; \" ><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><img src= \" https://www.tumblr.com/favicon.ico \" alt= \" [tumblr.com profile] \" style= \" vertical-align: text-bottom; border: 0; padding-right: 1px; \" width= \" 16 \" height= \" 16 \" ></a><a href= \" https:// " + fileread . recip + " .tumblr.com \" ><b> " + fileread . recip + " </b></a></span> " )
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 :
if fileread . event :
filewrite . write ( " </p> \n " )
filewrite . write ( fileread . notes + " </p> \n " )
except :
if juvenilia :
filewrite . write ( " </p> \n " )
filewrite . write ( " <ul class= \" ficlinks " )
# specify language if necessary
try :
if fileread . translation :
if fileread . language == " en " :
filewrite . write ( " english " )
elif fileread . language == " fr " :
filewrite . write ( " french " )
except :
pass
filewrite . write ( " \" > \n " )
# write html link if there is one
if fileread . html :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .html \" >HTML</a></li> \n " )
# write pdf link if there is one
if fileread . pdf :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
try :
if fileread . event :
filewrite . write ( " </p> \n " )
except :
if juvenilia :
filewrite . write ( " </p> \n " )
filewrite . write ( " <ul class= \" ficlinks " )
# specify language if necessary
try :
if fileread . translation :
if fileread . language == " en " :
filewrite . write ( " english " )
elif fileread . language == " fr " :
filewrite . write ( " french " )
except :
pass
filewrite . write ( " \" > \n " )
# write html link if there is one
if fileread . html :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .pdf \" >PDF</a></li> \n " )
# write epub link if there is one
if fileread . epub :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .html \" >HTML</a></li> \n " )
# write pdf link if there is one
if fileread . pdf :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .pdf \" >PDF</a></li> \n " )
# write epub link if there is one
if fileread . epub :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .epub \" >EPUB</a></li> \n " )
# write ao3 link if there is one
if fileread . ao3slug :
filewrite . write ( " <li class= \" ao3link \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" " )
filewrite . write ( " href= \" https://archiveofourown.org/works/ " + str ( fileread . ao3slug ) + " \" >AO3</a></li> \n " )
# determine if comments page
if any ( item in fffandoms for item in fileread . fandom ) :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
timeelapsed = datetime . datetime . now ( ) - ( fileread . datewords [ - 1 ] ) [ " date " ]
if timeelapsed . days < 730 :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( ficnostring + " .epub \" >EPUB</a></li> \n " )
# write ao3 link if there is one
try :
if fileread . ao3slug :
filewrite . write ( " <li class= \" ao3link \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" " )
filewrite . write ( " href= \" https://archiveofourown.org/works/ " + str ( fileread . ao3slug ) + " \" >AO3</a></li> \n " )
except :
pass
# determine if comments page
if any ( item in fffandoms for item in fileread . fandom ) :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
@ -413,15 +415,35 @@ def ficgen(ficno,unique=False,output="output.html",local=False):
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
try :
if fileread . event == " ao3exchange " and ( fileread . datewords [ 0 ] ) [ " date " ] . year > 2019 :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
timeelapsed = datetime . datetime . now ( ) - ( fileread . datewords [ - 1 ] ) [ " date " ]
if timeelapsed . days < 730 :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
try :
if fileread . event == " ao3exchange " and ( fileread . datewords [ 0 ] ) [ " date " ] . year > 2019 :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
try :
if fileread . comments :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
except :
pass
except :
try :
if fileread . comments :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
@ -432,88 +454,71 @@ def ficgen(ficno,unique=False,output="output.html",local=False):
filewrite . write ( " \" >comments</a></li> \n " )
except :
pass
except :
try :
if fileread . comments :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
filewrite . write ( " </ul> \n " )
# write links for translation if required
try :
if fileread . translation :
if transread . language == " en " :
filewrite . write ( " <ul class= \" ficlinks english " )
elif transread . language == " fr " :
filewrite . write ( " <ul class= \" ficlinks french " )
filewrite . write ( " \" > \n " )
# write html link if there is one
if fileread . html :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + ficnostring + " /index.html " )
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/ secret/ " )
else :
filewrite . write ( " /fic/comments/ " + ficnostring )
filewrite . write ( " \" >comments</a></li> \n " )
except :
pass
filewrite . write ( " </ul> \n " )
# write links for translation if required
try :
if fileread . translation :
if transread . language == " en " :
filewrite . write ( " <ul class= \" ficlinks english " )
elif transread . language == " fr " :
filewrite . write ( " <ul class= \" ficlinks french " )
filewrite . write ( " \" > \n " )
# write html link if there is one
if fileread . html :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .html \" >HTML</a></li> \n " )
# write pdf link if there is one
if fileread . pdf :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .pdf \" >PDF</a></li> \n " )
# write epub link if there is one
if fileread . epub :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .html \" >HTML</a></li> \n " )
# write pdf link if there is one
if fileread . pdf :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .pdf \" >PDF</a></li> \n " )
# write epub link if there is one
if fileread . epub :
filewrite . write ( " <li class= \" prazelink \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/secret/ " )
else :
filewrite . write ( " /fic/secret/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .epub \" >EPUB</a></li> \n " )
# write ao3 link if there is one
if fileread . ao3slug :
filewrite . write ( " <li class= \" ao3link \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" " )
filewrite . write ( " href= \" https://archiveofourown.org/works/ " + str ( transread . ao3slug ) + " \" >AO3</a></li> \n " )
# determine if comments page required
if any ( item in fffandoms for item in fileread . fandom ) :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + translationstring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + translationstring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
timeelapsed = datetime . datetime . now ( ) - ( transread . datewords [ - 1 ] ) [ " date " ]
if timeelapsed . days < 730 :
if local :
filewrite . write ( " href= \" /home/mdd/Documents/drive/proj/fic-archive/build/files/ " )
else :
filewrite . write ( " href= \" /fic/files/ " )
filewrite . write ( translationstring + " .epub \" >EPUB</a></li> \n " )
# write ao3 link if there is one
try :
if fileread . ao3slug :
filewrite . write ( " <li class= \" ao3link \" ><a " )
if fileread . locked :
filewrite . write ( " class= \" locked \" " )
filewrite . write ( " href= \" https://archiveofourown.org/works/ " + str ( transread . ao3slug ) + " \" >AO3</a></li> \n " )
except :
pass
# determine if comments page required
if any ( item in fffandoms for item in fileread . fandom ) :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + translationstring + " /index.html " )
@ -521,18 +526,27 @@ def ficgen(ficno,unique=False,output="output.html",local=False):
filewrite . write ( " /fic/comments/ " + translationstring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
try :
if transread . comments :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + translationstring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + translationstring )
filewrite . write ( " \" >comments</a></li> \n " )
except :
pass
filewrite . write ( " </ul> \n " )
except :
pass
filewrite . write ( " </div> \n " )
filewrite . close ( )
timeelapsed = datetime . datetime . now ( ) - ( transread . datewords [ - 1 ] ) [ " date " ]
if timeelapsed . days < 730 :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + translationstring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + translationstring )
filewrite . write ( " \" >comments</a></li> \n " )
else :
try :
if transread . comments :
filewrite . write ( " <li class= \" prazelink \" ><a href= \" " )
if local :
filewrite . write ( " /home/mdd/Documents/drive/proj/fic-archive/build/comments/ " + translationstring + " /index.html " )
else :
filewrite . write ( " /fic/comments/ " + translationstring )
filewrite . write ( " \" >comments</a></li> \n " )
except :
pass
filewrite . write ( " </ul> \n " )
except :
pass
filewrite . write ( " </div> \n " )
filewrite . close ( )