From a74f444a67468c9a050af0ed7861dd8dad122cf2 Mon Sep 17 00:00:00 2001
From: Lubomir Bucek <lubomir.bucek@eox.at>
Date: Mon, 28 Sep 2020 15:07:03 +0200
Subject: [PATCH] allowing registrar to not have bucket set to allow
 re-registering old collections

---
 core/registrar.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/core/registrar.py b/core/registrar.py
index c501b6cd..d69f2586 100644
--- a/core/registrar.py
+++ b/core/registrar.py
@@ -147,12 +147,15 @@ class RegistrationError(Exception):
 @transaction.atomic
 def registrar(
     collection,
-    objects_prefix, upload_container, replace=False, client=None, registered_set_key=None
+    objects_prefix, upload_container=None, replace=False, client=None, registered_set_key=None
 ):
     logger.info("Starting registration of product '%s'." % objects_prefix)
 
-    metadata_package, data_package, has_vrt = None, None, None
-
+    metadata_package, data_package = None, None
+    if not upload_container:
+        # assuming objects_prefix = bucket/itemname
+        upload_container = objects_prefix.split("/")[0]
+        objects_prefix = objects_prefix.split("/")[1]
     with SwiftService() as swift:
         list_parts_gen = swift.list(
             container=upload_container, options={"prefix": objects_prefix},
@@ -165,11 +168,7 @@ def registrar(
                         metadata_package = item["name"]
                     elif item["name"].endswith(".TIF") or \
                             item["name"].endswith(".tif"):
-                        if has_vrt is not True:
-                            data_package = item["name"]
-                    elif item["name"].endswith(".vrt"):
                         data_package = item["name"]
-                        has_vrt = True
                     elif not item["name"].endswith(".tar"):
                         raise RegistrationError(
                             "Product with objects prefix '%s' has "
-- 
GitLab