From a6c780f2e74a4de3955396d72c1e761cc4efa550 Mon Sep 17 00:00:00 2001
From: Jo Sama <jo.sama@usit.uio.no>
Date: Tue, 21 Sep 2021 21:23:36 +0200
Subject: [PATCH] Rework the put_update_batch() interface

This commit makes the interface of put_update_batch() quit similar to
post_new_batch().
---
 setra_client/client.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/setra_client/client.py b/setra_client/client.py
index b44f34a..e231e3e 100644
--- a/setra_client/client.py
+++ b/setra_client/client.py
@@ -386,13 +386,18 @@ class SetraClient(object):
                             data=batchdata.json(exclude_unset=True),
                             headers=headers,
                             return_response=True)
+
+        try:
+            content = response.json()
+        except requests.exceptions.JSONDecodeError:
+            content = response.content
+
         if response.status_code == 204:
-            return response.content, 'No Content'
+            return 'Accepted', {}
         elif response.status_code == 409:
-            return response.content, 'batch_found_but_cannot_be_updated'
+            return 'Conflict', content
         else:
-            response.raise_for_status()
-        return response
+            return 'Unknown', {'code': response.status_code, 'content': content}
 
     def get_batch_complete(self, batch_id: str):
         """
-- 
GitLab