From 2b770bc27aaa118f4413c6d03a5eec12a5aaad72 Mon Sep 17 00:00:00 2001 From: Maximilian Moser <maximilian.moser@tuwien.ac.at> Date: Thu, 19 Sep 2024 19:34:10 +0200 Subject: [PATCH] Detect reuse of existing file keys in draft files --- invenio_utilities_tuw/cli/drafts.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/invenio_utilities_tuw/cli/drafts.py b/invenio_utilities_tuw/cli/drafts.py index 5628728..8af203a 100644 --- a/invenio_utilities_tuw/cli/drafts.py +++ b/invenio_utilities_tuw/cli/drafts.py @@ -339,7 +339,16 @@ def add_files(filepaths, pid, pid_type, user): ) sys.exit(1) - # TODO: this fails if a file with the same name already exists + # check for existing duplicates + files = list(file_service.list_files(id_=recid, identity=identity).entries()) + existing_file_keys = [e["key"] for e in files] + if any([k for k in keys if k in existing_file_keys]): + click.secho( + "aborting: reuse of existing file names detected", fg="yellow", err=True + ) + sys.exit(1) + + # if all went well so far, continue on file_service.init_files( id_=recid, identity=identity, data=[{"key": basename(fp)} for fp in paths] ) -- GitLab