Skip to content
Snippets Groups Projects
Commit 669645be authored by Liliana Sanfilippo's avatar Liliana Sanfilippo
Browse files

code fix

parent df5e16ce
No related branches found
No related tags found
No related merge requests found
...@@ -12,7 +12,9 @@ def main(): ...@@ -12,7 +12,9 @@ def main():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
prog='HTML Citations', prog='HTML Citations',
description='create acessible HTML Citations from bib files') 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() args = parser.parse_args()
print("Source: " + args.input) print("Source: " + args.input)
except argparse.ArgumentError as e: except argparse.ArgumentError as e:
...@@ -21,6 +23,7 @@ def main(): ...@@ -21,6 +23,7 @@ def main():
print(f"An unexpected error occurred: {e}") print(f"An unexpected error occurred: {e}")
print("Reading file...") print("Reading file...")
#reading and parsing the file #reading and parsing the file
try: try:
with open(args.input, 'r') as file: with open(args.input, 'r') as file:
file_content = file.read() file_content = file.read()
...@@ -33,12 +36,15 @@ def main(): ...@@ -33,12 +36,15 @@ def main():
length = len(library.entries) length = len(library.entries)
print("found " + str(length) + " entries") print("found " + str(length) + " entries")
ran = range(length) ran = range(length)
startnum = int(args.startnumber);
count = 0;
#processing every entry and writing the dictionary for it #processing every entry and writing the dictionary for it
for x in ran: 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 = {} dictio = {}
en_x = library.entries[x] 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 # Direkt auf die Einträge zugreifen, da es sich um ein Dictionary handelt
for key, value in en_x.items(): for key, value in en_x.items():
...@@ -47,9 +53,9 @@ def main(): ...@@ -47,9 +53,9 @@ def main():
# Überprüfung auf den Typ des Eintrags über 'ENTRYTYPE' # Überprüfung auf den Typ des Eintrags über 'ENTRYTYPE'
if en_x['ENTRYTYPE'] == "article": if en_x['ENTRYTYPE'] == "article":
articleHTML(dictio, x, out) articleHTML(dictio, (startnum+count), out)
elif en_x['ENTRYTYPE'] == "misc": elif en_x['ENTRYTYPE'] == "misc":
miscHTML(dictio, x, out) miscHTML(dictio, (startnum+count), out)
except Exception as e: except Exception as e:
...@@ -71,9 +77,9 @@ def main(): ...@@ -71,9 +77,9 @@ def main():
def articleHTML(dictio, x, out): def articleHTML(dictio, x, out):
print("Writing html code for entry "+ str(x+1) + "...") print("Writing html code for entry "+ str(x) + "...")
out.write("{/*<!-- Citation num " + str(x+1) + "--> */}" + "\n") out.write("{/*<!-- Citation num " + str(x) + "--> */}" + "\n")
out.write("<li typeof=\"schema:ScolarlyArticle\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\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") out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Person\">"+ "\n")
print("Just a sec, seperating authors...") print("Just a sec, seperating authors...")
...@@ -137,16 +143,16 @@ def articleHTML(dictio, x, out): ...@@ -137,16 +143,16 @@ def articleHTML(dictio, x, out):
out.write("\t" + "<span property=\"schema:pageBegin\">"+ pages +"</span>"+ "\n") out.write("\t" + "<span property=\"schema:pageBegin\">"+ pages +"</span>"+ "\n")
else: else:
print("Sorry, no readable page information") 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: else:
print("Sorry, no page information") 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: else:
print("Sorry, no page information") 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: except KeyError as e:
print("Sorry, no page information") 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'] year = dictio['year']
out.write("\t" +"(<time property=\"schema:datePublished\" datatype=\"xsd:gYear\" dateTime=\" " + year + "\">"+year+"</time>)."+ "\n") out.write("\t" +"(<time property=\"schema:datePublished\" datatype=\"xsd:gYear\" dateTime=\" " + year + "\">"+year+"</time>)."+ "\n")
...@@ -156,15 +162,15 @@ def articleHTML(dictio, x, out): ...@@ -156,15 +162,15 @@ def articleHTML(dictio, x, out):
out.write("\t" +"<a className=\"doi\" href=\"https://doi.org/"+doi+"\"> doi: "+doi+"</a>"+ "\n") out.write("\t" +"<a className=\"doi\" href=\"https://doi.org/"+doi+"\"> doi: "+doi+"</a>"+ "\n")
except KeyError as e: except KeyError as e:
print("Sorry, no doi information") 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") out.write("</li>" + "\n"+ "\n")
def miscHTML(dictio, x, out): def miscHTML(dictio, x, out):
print("Writing html code for entry "+ str(x+1) + "...") print("Writing html code for entry "+ str(x) + "...")
out.write("#<!-- Citation num " + str(x+1) + "-->" + "\n") out.write("#<!-- Citation num " + str(x) + "-->" + "\n")
out.write("<li typeof=\"schema:WebPage\" role=\"doc-biblioentry\" property=\"schema:citation\" id=\"desc-" + str(x+1) + "\">"+ "\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") out.write("\t" + "<span property=\"schema:author\" typeof=\"schema:Organisation\">"+ "\n")
aut = dictio['author'] aut = dictio['author']
out.write("\t" + "\t" +"<span property=\"schema:Name\">" +aut + "</span>."+ "\n") out.write("\t" + "\t" +"<span property=\"schema:Name\">" +aut + "</span>."+ "\n")
......
{/*<!-- Citation num 1--> */} {/*<!-- Citation num 3--> */}
<li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-1"> <li typeof="schema:ScolarlyArticle" role="doc-biblioentry" property="schema:citation" id="desc-3">
<span property="schema:author" typeof="schema:Person"> <span property="schema:author" typeof="schema:Person">
<span property="schema:Name"> Roth, F.</span>; <span property="schema:Name"> Roth, F.</span>;
<span property="schema:Name"> Draguhn, A.</span> <span property="schema:Name"> Draguhn, A.</span>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment