From 8241e608548dc4e1c44f9f8598b76d82e2c8f250 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Fri, 24 Apr 2020 15:05:47 +0200 Subject: [PATCH] FIX: missing uploads due to unchanged checksum --- .gitlab-ci.yml | 2 +- src/caosadvancedtools/export_related.py | 3 ++- src/caosadvancedtools/import_from_xml.py | 28 +++----------------- src/caosadvancedtools/pandoc_header_tools.py | 4 +-- 4 files changed, 8 insertions(+), 29 deletions(-) mode change 100644 => 100755 src/caosadvancedtools/export_related.py mode change 100644 => 100755 src/caosadvancedtools/import_from_xml.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 81614024..8d44f3e1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -104,5 +104,5 @@ style: stage: style image: $CI_REGISTRY_IMAGE script: - - autopep8 -r --diff --exit-code . + - autopep8 -ar --diff --exit-code . allow_failure: true diff --git a/src/caosadvancedtools/export_related.py b/src/caosadvancedtools/export_related.py old mode 100644 new mode 100755 index 5b41c97e..b9fa75d0 --- a/src/caosadvancedtools/export_related.py +++ b/src/caosadvancedtools/export_related.py @@ -110,7 +110,7 @@ def main(rec_id): try: el.download(target) print("Downloaded:", target) - except: + except BaseException: print("Failed download of:", target) for ent in cont: @@ -128,6 +128,7 @@ def defineParser(): '-i', '--id', type=int, + required=True, help='the id of the record that shall be copied and then changed') return parser diff --git a/src/caosadvancedtools/import_from_xml.py b/src/caosadvancedtools/import_from_xml.py old mode 100644 new mode 100755 index 6de31f5f..9b5c7fcf --- a/src/caosadvancedtools/import_from_xml.py +++ b/src/caosadvancedtools/import_from_xml.py @@ -58,6 +58,7 @@ def main(filename, rerun=False): for el in cont: if isinstance(el, db.File): + el._checksum = None target = os.path.join("downloads", el.path[1:]) if os.path.exists(target): @@ -69,32 +70,11 @@ def main(filename, rerun=False): if (isinstance(el, db.Property) or isinstance(el, db.RecordType)): model.append(el) - # create new file objects and replace the existing one - # TODO why is this necessary? - - new_files = [] - print(files) - - 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) - - for p in fi.parents: - new.add_parent(p) - new_files.append(new) - else: - for fi in files: - new = db.File(path=fi.path, id=fi.id) - new_files.append(new) - # remove entities of the model from the container for el in model+files: cont.remove(el) - files = new_files - id_mapping = {} for el in model+files: @@ -108,12 +88,10 @@ def main(filename, rerun=False): # insert files if not rerun: - for i, el in enumerate(files): - print(el) + for _, el in enumerate(files): r = el.insert(unique=False) - print(r) else: - for i, el in enumerate(files): + for _, el in enumerate(files): el.id = None el.retrieve() diff --git a/src/caosadvancedtools/pandoc_header_tools.py b/src/caosadvancedtools/pandoc_header_tools.py index 4c6dfb21..262defd2 100644 --- a/src/caosadvancedtools/pandoc_header_tools.py +++ b/src/caosadvancedtools/pandoc_header_tools.py @@ -147,7 +147,7 @@ it is not at the beginning, it must be preceded by a blank line. raise ParseErrorsInHeader(filename, e) # except yaml.error.MarkedYAMLError as e: # raise NoValidHeader(filename) - if type(yaml_part) != dict: + if not isinstance(yaml_part, dict): raise NoValidHeader(filename) return (found_1, found_2, clean_header(yaml_part)) @@ -229,7 +229,7 @@ def clean_header(header): for k, v in header.items(): # Plain string is put into list - if type(v) == str: + if isinstance(v, str): header[k] = [v] return header -- GitLab