From 5e95af9cd06e55703656ff7a2953dec1c854f08c Mon Sep 17 00:00:00 2001
From: "Antoine R. Dumont (@ardumont)" <antoine.romain.dumont@gmail.com>
Date: Mon, 25 Nov 2019 14:47:14 +0100
Subject: [PATCH] deposit.signals: Send versioned scheduler tasks

---
 swh/deposit/signals.py | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/swh/deposit/signals.py b/swh/deposit/signals.py
index 0d8e480d..b08b49a3 100644
--- a/swh/deposit/signals.py
+++ b/swh/deposit/signals.py
@@ -94,10 +94,25 @@ def post_deposit_save(sender, instance, created, raw, using,
     elif (instance.status == DEPOSIT_STATUS_VERIFIED and
           not instance.load_task_id):
 
-        url = utils.origin_url_from(instance)
-
-        task = create_oneshot_task_dict(
-            'load-deposit', url=url, deposit_id=instance.id)
+        version = default_config.get('deposit', {}).get('loader-version', 1)
+        # schedule deposit loading
+        if int(version) == 1:  # default version
+            from swh.deposit.config import PRIVATE_GET_RAW_CONTENT
+            from swh.deposit.config import PRIVATE_GET_DEPOSIT_METADATA
+            from swh.deposit.config import PRIVATE_PUT_DEPOSIT
+            archive_url = reverse(PRIVATE_GET_RAW_CONTENT, args=args)
+            meta_url = reverse(PRIVATE_GET_DEPOSIT_METADATA, args=args)
+            update_url = reverse(PRIVATE_PUT_DEPOSIT, args=args)
+
+            task = create_oneshot_task_dict('load-deposit',
+                                            archive_url=archive_url,
+                                            deposit_meta_url=meta_url,
+                                            deposit_update_url=update_url)
+        else:  # new version
+            url = utils.origin_url_from(instance)
+            task = create_oneshot_task_dict(
+                'load-deposit',
+                url=url, deposit_id=instance.id)
 
         load_task_id = schedule_task(default_config.scheduler, task)
         instance.load_task_id = load_task_id
-- 
GitLab