From 579c33d4844c474b8d8f58d9dccf717129560c65 Mon Sep 17 00:00:00 2001 From: karthikmasi Date: Mon, 13 Mar 2023 18:54:43 -0500 Subject: [PATCH 1/3] Testing if zipping whole directory instead of asterisk helps with the 'argument list too long' problem. --- dax/XnatUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dax/XnatUtils.py b/dax/XnatUtils.py index 1a5753c1..13125afb 100644 --- a/dax/XnatUtils.py +++ b/dax/XnatUtils.py @@ -1961,7 +1961,7 @@ def upload_folder_to_obj(directory, resource_obj, resource_label, remove=False, # Zip all the files in the directory os.chdir(directory) - os.system('zip -r %s * > /dev/null' % fzip) + os.system('zip -r {} {} > /dev/null'.format(fzip,directory)) # upload resource_obj.put_zip(os.path.join(directory, fzip), overwrite=True, extract=extract) From d8d8814e5e9f759614f4261e34b2e3ef0e8b4047 Mon Sep 17 00:00:00 2001 From: karthikmasi Date: Mon, 13 Mar 2023 19:30:51 -0500 Subject: [PATCH 2/3] Using find and piping all dicoms to zip seems to work. Checking if the extraction of zip from XNAT's end works --- dax/XnatUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dax/XnatUtils.py b/dax/XnatUtils.py index 13125afb..9f687977 100644 --- a/dax/XnatUtils.py +++ b/dax/XnatUtils.py @@ -1961,7 +1961,7 @@ def upload_folder_to_obj(directory, resource_obj, resource_label, remove=False, # Zip all the files in the directory os.chdir(directory) - os.system('zip -r {} {} > /dev/null'.format(fzip,directory)) + os.system('find {} -name \'*.dcm\' -print | zip {} -@ > /dev/null'.format(directory,fzip)) # upload resource_obj.put_zip(os.path.join(directory, fzip), overwrite=True, extract=extract) From 3ea006fd64d0c6161051fbcd109759e6087c7963 Mon Sep 17 00:00:00 2001 From: karthikmasi Date: Mon, 13 Mar 2023 20:07:10 -0500 Subject: [PATCH 3/3] Trying zip with option -j to remove junk paths --- dax/XnatUtils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dax/XnatUtils.py b/dax/XnatUtils.py index 9f687977..1944f781 100644 --- a/dax/XnatUtils.py +++ b/dax/XnatUtils.py @@ -1961,7 +1961,7 @@ def upload_folder_to_obj(directory, resource_obj, resource_label, remove=False, # Zip all the files in the directory os.chdir(directory) - os.system('find {} -name \'*.dcm\' -print | zip {} -@ > /dev/null'.format(directory,fzip)) + os.system('zip -r -j {} {} > /dev/null'.format(fzip,directory)) # upload resource_obj.put_zip(os.path.join(directory, fzip), overwrite=True, extract=extract)