From e6383e2e061fd51ca74366f1cf1762448a7bab91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Wed, 4 Mar 2020 16:03:43 +0100
Subject: [PATCH] ENH: make rerun an argument

---
 src/caosadvancedtools/export_related.py  |  2 +-
 src/caosadvancedtools/import_from_xml.py | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/caosadvancedtools/export_related.py b/src/caosadvancedtools/export_related.py
index 1c32106a..5b41c97e 100644
--- a/src/caosadvancedtools/export_related.py
+++ b/src/caosadvancedtools/export_related.py
@@ -118,7 +118,7 @@ def main(rec_id):
     xml = etree.tounicode(cont.to_xml(
         local_serialization=True), pretty_print=True)
 
-    with open("test.txt", "w") as fi:
+    with open("caosdb_data.xml", "w") as fi:
         fi.write(xml)
 
 
diff --git a/src/caosadvancedtools/import_from_xml.py b/src/caosadvancedtools/import_from_xml.py
index 8e17d8e0..e5496d54 100644
--- a/src/caosadvancedtools/import_from_xml.py
+++ b/src/caosadvancedtools/import_from_xml.py
@@ -33,9 +33,6 @@ from tempfile import NamedTemporaryFile
 
 import caosdb as db
 from caosmodels.data_model import DataModel
-from lxml import etree
-
-RERUN = False
 
 
 def create_dummy_file(text="Please ask the administrator for this file."):
@@ -47,7 +44,7 @@ def create_dummy_file(text="Please ask the administrator for this file."):
     return tmpfile.name
 
 
-def main(filename):
+def main(filename, rerun=False):
     cont = db.Container()
     with open(filename) as fi:
         cont = cont.from_xml(fi.read())
@@ -78,7 +75,7 @@ def main(filename):
     new_files = []
     print(files)
 
-    if not RERUN:
+    if not rerun:
         for fi in files:
             new = db.File(file=fi.file, path=fi.path, name=fi.name, id=fi.id,
                           description=fi.description)
@@ -110,7 +107,7 @@ def main(filename):
 
     # insert files
 
-    if not RERUN:
+    if not rerun:
         for i, el in enumerate(files):
             print(el)
             r = el.insert(unique=False)
@@ -137,6 +134,9 @@ def main(filename):
 def defineParser():
     parser = argparse.ArgumentParser(description=__doc__)
     parser.add_argument("file", help='file to be imported')
+    parser.add_argument("--rerun", help='if this script is run at least a'
+                        ' second time and files are already inserted', 
+                        action="store_true")
 
     return parser
 
@@ -145,4 +145,4 @@ if __name__ == "__main__":
     parser = defineParser()
     args = parser.parse_args()
 
-    main(args.file)
+    main(args.file, args.rerun)
-- 
GitLab