From 669645bebc93c29262e46d7936609b6e6aa5e340 Mon Sep 17 00:00:00 2001 From: Liliana Sanfilippo <liliana.sanfilippo@uni-bielefeld.de> Date: Wed, 25 Sep 2024 11:14:31 +0200 Subject: [PATCH] code fix --- code/cit.py | 38 ++++++++++++++++++++++---------------- code/output.txt | 4 ++-- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/code/cit.py b/code/cit.py index 8cf3ace8..c30498d1 100644 --- a/code/cit.py +++ b/code/cit.py @@ -12,7 +12,9 @@ def main(): parser = argparse.ArgumentParser( prog='HTML Citations', description='create acessible HTML Citations from bib files') - parser.add_argument('-i','--input') + parser.add_argument('-i','--input', required=True, help="path to source bib") + parser.add_argument('-s','--startnumber', required=True, help="number from which to start numbering") + args = parser.parse_args() print("Source: " + args.input) except argparse.ArgumentError as e: @@ -21,6 +23,7 @@ def main(): print(f"An unexpected error occurred: {e}") print("Reading file...") #reading and parsing the file + try: with open(args.input, 'r') as file: file_content = file.read() @@ -33,12 +36,15 @@ def main(): length = len(library.entries) print("found " + str(length) + " entries") ran = range(length) + startnum = int(args.startnumber); + count = 0; #processing every entry and writing the dictionary for it for x in ran: - print("\n Initializing empty dictionary for entry "+ str(x+1) + "...") + + print("\n Initializing empty dictionary for entry "+ str(startnum+count) + "...") dictio = {} en_x = library.entries[x] - print("Filling dictionary for entry "+ str(x+1) + "") + print("Filling dictionary for entry "+ str(startnum+count) + "") # Direkt auf die Einträge zugreifen, da es sich um ein Dictionary handelt for key, value in en_x.items(): @@ -47,9 +53,9 @@ def main(): # Überprüfung auf den Typ des Eintrags über 'ENTRYTYPE' if en_x['ENTRYTYPE'] == "article": - articleHTML(dictio, x, out) + articleHTML(dictio, (startnum+count), out) elif en_x['ENTRYTYPE'] == "misc": - miscHTML(dictio, x, out) + miscHTML(dictio, (startnum+count), out) except Exception as e: @@ -71,9 +77,9 @@ def main(): def articleHTML(dictio, x, out): - print("Writing html code for entry "+ str(x+1) + "...") - out.write("{/*<!-- Citation num " + str(x+1) + "--> */}" + "\n") - out.write("<li typeof=\"schema:ScolarlyArticle\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\n") + print("Writing html code for entry "+ str(x) + "...") + out.write("{/*<!-- Citation num " + str(x) + "--> */}" + "\n") + out.write("<li typeof=\"schema:ScolarlyArticle\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x) + "\">"+ "\n") out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Person\">"+ "\n") print("Just a sec, seperating authors...") @@ -137,16 +143,16 @@ def articleHTML(dictio, x, out): out.write("\t" + "<span property=\"schema:pageBegin\">"+ pages +"</span>"+ "\n") else: print("Sorry, no readable page information") - problemlist.append("Check for missing page info at " + str (x+1)) + problemlist.append("Check for missing page info at " + str (x)) else: print("Sorry, no page information") - problemlist.append("Check for missing page info at " + str (x+1)) + problemlist.append("Check for missing page info at " + str (x)) else: print("Sorry, no page information") - problemlist.append("Check for missing page info at " + str (x+1)) + problemlist.append("Check for missing page info at " + str (x)) except KeyError as e: print("Sorry, no page information") - problemlist.append("Check for missing page info at " + str (x+1)) + problemlist.append("Check for missing page info at " + str (x)) year = dictio['year'] out.write("\t" +"(<time property=\"schema:datePublished\" datatype=\"xsd:gYear\" dateTime=\" " + year + "\">"+year+"</time>)."+ "\n") @@ -156,15 +162,15 @@ def articleHTML(dictio, x, out): out.write("\t" +"<a className=\"doi\" href=\"https://doi.org/"+doi+"\"> doi: "+doi+"</a>"+ "\n") except KeyError as e: print("Sorry, no doi information") - problemlist.append("Check for missing doi info at " + str (x+1)) + problemlist.append("Check for missing doi info at " + str (x)) out.write("</li>" + "\n"+ "\n") def miscHTML(dictio, x, out): - print("Writing html code for entry "+ str(x+1) + "...") - out.write("#<!-- Citation num " + str(x+1) + "-->" + "\n") - out.write("<li typeof=\"schema:WebPage\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\n") + print("Writing html code for entry "+ str(x) + "...") + out.write("#<!-- Citation num " + str(x) + "-->" + "\n") + out.write("<li typeof=\"schema:WebPage\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x) + "\">"+ "\n") out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Organisation\">"+ "\n") aut = dictio['author'] out.write("\t" + "\t" +"<span property=\"schema:Name\">" +aut + "</span>."+ "\n") diff --git a/code/output.txt b/code/output.txt index 40829479..af652414 100644 --- a/code/output.txt +++ b/code/output.txt @@ -1,5 +1,5 @@ -{/*<!-- Citation num 1--> */} -<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-1"> +{/*<!-- Citation num 3--> */} +<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-3"> <span property="schema:author" typeof="schema:Person"> <span property="schema:Name"> Roth, F.</span>; <span property="schema:Name"> Draguhn, A.</span> -- GitLab