From 23d91dfb126322386b871ce95cd32aed65436a5f Mon Sep 17 00:00:00 2001 From: "John T. Wodder II" Date: Mon, 21 Feb 2022 08:23:05 -0500 Subject: [PATCH] Don't repeat API requests when finding subdir files to delete before Zarr upload --- dandi/files.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/dandi/files.py b/dandi/files.py index 3044eaad8..b0e297ddb 100644 --- a/dandi/files.py +++ b/dandi/files.py @@ -866,11 +866,15 @@ def iter_upload( asset_path, p, ) - for ee in e.iterfiles(): - try: - to_delete.append(old_zarr_entries.pop(str(ee))) - except KeyError: - pass + eprefix = str(e) + "/" + sub_e = [ + (k, v) + for k, v in old_zarr_entries.items() + if k.startswith(eprefix) + ] + for k, v in sub_e: + old_zarr_entries.pop(k) + to_delete.append(v) to_upload.append(item) elif pdigest != e.get_digest().value: lgr.debug(