From 1e4694c22b009b802985ef07139cca9150fe02f5 Mon Sep 17 00:00:00 2001
From: Remi Cresson <remi.cresson@inrae.fr>
Date: Wed, 24 May 2023 09:11:07 +0200
Subject: [PATCH 1/2] Fix bug in sign_collection(), sign_item_collection() and
 sign_item()

---
 dinamis_sdk/s3.py | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/dinamis_sdk/s3.py b/dinamis_sdk/s3.py
index 7242f47..442aea0 100644
--- a/dinamis_sdk/s3.py
+++ b/dinamis_sdk/s3.py
@@ -226,11 +226,12 @@ def sign_item(item: Item, copy: bool = True) -> Item:
     """
     if copy:
         item = item.clone()
-    urls = {key: asset.href for key, asset in item.assets.items()}
+    urls = [asset.href for asset in item.assets.values()]
     signed_urls = sign_urls(urls=urls)
-    for key in item.assets:
-        url = urls[key]
-        item.assets[key] = signed_urls[url]
+    for key, asset in item.assets.items():
+        item.assets[key].href = signed_urls[asset.href]
+    return item
+
     return item
 
 
@@ -274,16 +275,15 @@ def sign_item_collection(
     """
     if copy:
         item_collection = item_collection.clone()
-    urls = {
-        key: asset.href
+    urls = [
+        asset.href
         for item in item_collection
-        for key, asset in item.assets.items()
-    }
+        for asset in item.values()
+    ]
     signed_urls = sign_urls(urls=urls)
     for item in item_collection:
-        for key in item.assets:
-            url = item.assets[key]
-            item.assets[key].href = signed_urls[url]
+        for key, asset in item.assets.items():
+            item.assets[key].href = signed_urls[asset.href]
     return item_collection
 
 
@@ -331,11 +331,13 @@ def sign_collection(collection: Collection, copy: bool = True) -> Collection:
         if assets and not collection.assets:
             collection.assets = deepcopy(assets)
 
-    urls = [collection.assets[key].href for key in collection.assets]
+    urls = [
+        collection.assets[key].href
+        for key in collection.assets
+    ]
     signed_urls = sign_urls(urls=urls)
-    for key in collection.assets:
-        url = collection.assets[key].href
-        collection.assets[key].href = signed_urls[url]
+    for key, asset in collection.assets.items():
+        collection.assets[key].href = signed_urls[asset.href]
     return collection
 
 
-- 
GitLab


From 56e1746a4ae1135025638294d574ba661495aecf Mon Sep 17 00:00:00 2001
From: Remi Cresson <remi.cresson@inrae.fr>
Date: Wed, 24 May 2023 09:12:33 +0200
Subject: [PATCH 2/2] Bump version

---
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index 3e57b4b..ced02f4 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ install_requires = [
 
 setup(
     name="dinamis-sdk",
-    version="0.0.8",
+    version="0.0.9",
     description="DINAMIS SDK",
     python_requires=">=3.8",
     author="Remi Cresson",
-- 
GitLab