From 33dae94bf1d0bb49f65bcf2983e487ce824cfc68 Mon Sep 17 00:00:00 2001
From: vuillaut <thomas.vuillaume@gmail.com>
Date: Thu, 30 Sep 2021 20:42:22 +0200
Subject: [PATCH] return published request

---
 eossr/scripts/eossr_upload.py             | 12 ++++++++----
 eossr/scripts/eossr_upload_new_deposit.py |  6 +++++-
 eossr/scripts/tests/test_scripts.py       | 12 ++++++++++--
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/eossr/scripts/eossr_upload.py b/eossr/scripts/eossr_upload.py
index 3a39e8aa..ad825831 100644
--- a/eossr/scripts/eossr_upload.py
+++ b/eossr/scripts/eossr_upload.py
@@ -4,15 +4,17 @@ import argparse
 from distutils.util import strtobool
 from eossr.scripts import eossr_upload_new_version_deposit, eossr_upload_new_deposit
 
-def upload(zenodo_token, sandbox_flag, input_directory, deposit_id):
+def upload(zenodo_token, sandbox_flag, input_directory, deposit_id=None):
 
     if deposit_id is None:
         print("Uploading a new deposit")
-        eossr_upload_new_deposit.upload(zenodo_token, sandbox_flag, input_directory)
+        published = eossr_upload_new_deposit.upload(zenodo_token, sandbox_flag, input_directory)
 
     else:
         print(f"Updating record {deposit_id}")
-        eossr_upload_new_version_deposit.upload(zenodo_token, sandbox_flag, input_directory, deposit_id)
+        published = eossr_upload_new_version_deposit.upload(zenodo_token, sandbox_flag, input_directory, deposit_id)
+
+    return published
 
 
 def main():
@@ -44,7 +46,9 @@ def main():
 
     args = parser.parse_args()
 
-    upload(args.zenodo_token, args.sandbox_flag, args.input_directory, args.deposit_id)
+    published = upload(args.zenodo_token, args.sandbox_flag, args.input_directory, args.deposit_id)
+
+    return published
 
 
 if __name__ == '__main__':
diff --git a/eossr/scripts/eossr_upload_new_deposit.py b/eossr/scripts/eossr_upload_new_deposit.py
index a2c2a3e9..29d2b7f6 100644
--- a/eossr/scripts/eossr_upload_new_deposit.py
+++ b/eossr/scripts/eossr_upload_new_deposit.py
@@ -107,6 +107,8 @@ def upload(zenodo_token, sandbox_flag, input_directory):
         print(f" ! New deposit NOT correctly published ! Status {publish.status_code}\n",
               publish.json())
 
+    return publish
+
 
 def main():
     parser = argparse.ArgumentParser(description="Upload new deposit entry to Zenodo")
@@ -131,7 +133,9 @@ def main():
 
     args = parser.parse_args()
 
-    upload(args.zenodo_token, args.sandbox_flag, args.input_directory)
+    publish = upload(args.zenodo_token, args.sandbox_flag, args.input_directory)
+
+    return publish
 
 
 if __name__ == '__main__':
diff --git a/eossr/scripts/tests/test_scripts.py b/eossr/scripts/tests/test_scripts.py
index 87e43e0d..ee0ec4e3 100644
--- a/eossr/scripts/tests/test_scripts.py
+++ b/eossr/scripts/tests/test_scripts.py
@@ -7,6 +7,7 @@ import pkg_resources
 import os
 import tempfile
 from os.path import dirname, realpath, join
+from eossr.scripts import eossr_upload
 
 ROOT_DIR = dirname(realpath("codemeta.json"))
 
@@ -50,6 +51,13 @@ def test_help_all_scripts(script):
 
 def test_eossr_upload(tmpdir):
     _, path_test_filename = tempfile.mkstemp(dir=tmpdir, text='Hello World')
-    run_script("eossr-upload", "-t", os.getenv('SANDBOX_ZENODO_TOKEN'), '-s', 'True', '-i', tmpdir)
+    published = eossr_upload.upload(os.getenv('SANDBOX_ZENODO_TOKEN'), True, tmpdir)
+    record_id = published.json()['id']
     _, path_test_filename = tempfile.mkstemp(dir=tmpdir, text='Hello World 2')
-    run_script("eossr-upload", "-t", os.getenv('SANDBOX_ZENODO_TOKEN'), '-s', 'True', '-i', tmpdir, '-id', 927522)
\ No newline at end of file
+    published = eossr_upload.upload(os.getenv('SANDBOX_ZENODO_TOKEN'), True, tmpdir, record_id)
+
+
+    # run_script("eossr-upload", "-t", os.getenv('SANDBOX_ZENODO_TOKEN'), '-s', 'True', '-i', tmpdir)
+    # _, path_test_filename = tempfile.mkstemp(dir=tmpdir, text='Hello World 2')
+    # run_script("eossr-upload", "-t", os.getenv('SANDBOX_ZENODO_TOKEN'), '-s', 'True', '-i', tmpdir, '-id', 927522)
+
-- 
GitLab