16584: collection name quote slashes in http_to_keep
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 13 Jul 2020 21:36:45 +0000 (17:36 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Tue, 14 Jul 2020 17:47:58 +0000 (13:47 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/http.py

index 47a304372c58a27ecde8d8c13bb55d6435f9cf79..dcc2a51192dfc4d4b573da302b3373fd08d67fff 100644 (file)
@@ -16,6 +16,7 @@ import arvados.collection
 import urllib.parse
 import logging
 import calendar
+import urllib.parse
 
 logger = logging.getLogger('arvados.cwl-runner')
 
@@ -148,7 +149,9 @@ def http_to_keep(api, project_uuid, url, utcnow=datetime.datetime.utcnow):
                     logger.info("%d downloaded, %3.2f MiB/s", count, (bps / (1024*1024)))
                 checkpoint = loopnow
 
-    c.save_new(name="Downloaded from %s" % url, owner_uuid=project_uuid, ensure_unique_name=True)
+
+    collectionname = "Downloaded from %s" % urllib.parse.quote(url, safe='')
+    c.save_new(name=collectionname, owner_uuid=project_uuid, ensure_unique_name=True)
 
     api.collections().update(uuid=c.manifest_locator(), body={"collection":{"properties": properties}}).execute()