diff --git a/tei2imxml.py b/tei2imxml.py
index d09a1d5..29dfd6b 100644
--- a/tei2imxml.py
+++ b/tei2imxml.py
@@ -46,6 +46,8 @@
CSL_FILE = CONFIG['Auxiliaries']['CSL_FILE']
+CSV_FILE = os.path.expanduser("hi_figures.csv")
+
def get_publication_info(xml_tree):
"""Query the TEI document for metadata fields.
@@ -349,9 +351,64 @@ def format_authors(list_author_id, publang, xml_tree):
return author_string
# def format_authors ends here
-def transform_body(xml_tree, cited_data, publang):
+def hi_lookup(hi_id):
+ """Get hyperimage code from CSV file"""
+
+ import csv
+
+ nd = {}
+
+ logging.debug("Opening %s", CSV_FILE)
+
+ with open(CSV_FILE, newline='') as f:
+ reader = csv.DictReader(f, fieldnames = ("checked","id","number","elementstring"))
+ jsonStr = json.dumps(list(reader)[1:])
+ jsonObj = json.loads(jsonStr)
+
+ for xx in jsonObj[1:]:
+ nd[xx["id"]] = {"number": xx["number"], "checked" : xx["checked"], "elementstring" : xx["elementstring"]}
+
+ if nd[hi_id]:
+ hi_code = nd[hi_id]["elementstring"]
+ else:
+ logging.error("Could not find hi code %s", hi_id)
+
+ return hi_code
+# def hi_lookup ends here
+
+def transform_body(xml_tree, cited_data, publang, hyperimage=False):
"""Transform the body of XML document into IntermediateXML file"""
+ def handle_refs_default(ref):
+ """Handle refs the normal way"""
+
+ target_attribute = ref.get("target")
+ if not target_attribute:
+ logging.error("Found a ref element without target. Exiting.")
+ sys.exit()
+ else:
+ url_attribute = ref.get("type")
+ if url_attribute == "url":
+ del ref.attrib["type"]
+ del ref.attrib["target"]
+ ref.tag = "xref"
+ ref.set("url", target_attribute)
+ else:
+ ref.tag = "EOAref"
+ del ref.attrib["target"]
+ etree.SubElement(ref, "ref", teitarget=target_attribute)
+ etree.SubElement(ref, "Label").text = target_attribute
+ return
+ # def handle_refs_default ends here
+
+ def handle_refs_hyperimage(ref):
+ """Treat also the special cases of hyperimage refs"""
+
+ logging.info("Found a ref without target, what else have we got?")
+
+ return
+ # def handle_refs_hyperimage ends here
+
logging.info("Performing XML transformations of the body.")
######################
# Document structure #
@@ -516,6 +573,13 @@ def transform_body(xml_tree, cited_data, publang):
+hyperimage
+