From 2f033f1f2e2c8775319920ca44609bd56a381d23 Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Wed, 25 Jan 2023 20:23:54 +0000 Subject: [PATCH 1/4] Need to use raise_for_status() after requests put & post in order for retries to work --- simvue/api.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/simvue/api.py b/simvue/api.py index 435664c4..9a09c06e 100644 --- a/simvue/api.py +++ b/simvue/api.py @@ -28,6 +28,7 @@ def post(url, headers, data, is_json=True): data = json.dumps(data) headers = set_json_header(headers) response = requests.post(url, headers=headers, data=data, timeout=DEFAULT_API_TIMEOUT) + response.raise_for_status() return response @@ -41,5 +42,6 @@ def put(url, headers, data, is_json=True, timeout=DEFAULT_API_TIMEOUT): data = json.dumps(data) headers = set_json_header(headers) response = requests.put(url, headers=headers, data=data, timeout=timeout) + response.raise_for_status() return response From 42364c1cc8d2b7178536519301c12468f8e86c1d Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Wed, 25 Jan 2023 20:25:27 +0000 Subject: [PATCH 2/4] Update to 0.9.1 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9b0bdd7..0ed06b10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change log +## v0.9.1 + +* (Bug fix) Retries in POST/PUTs to REST APIs didn't happen. + ## v0.9.0 * Set status to `failed` or `terminated` if the context manager is used and there is an exception. From 0c5996a43f58a0c4197df5cfcd553e02ec5f325c Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Wed, 25 Jan 2023 21:07:59 +0000 Subject: [PATCH 3/4] Provide a sensible error message if pickling is required --- simvue/run.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/simvue/run.py b/simvue/run.py index 5a8dde44..2d0dd4ca 100644 --- a/simvue/run.py +++ b/simvue/run.py @@ -557,6 +557,8 @@ def save(self, filename, category, filetype=None, preserve_path=False, name=None if not is_file: data['pickled'], data['type'] = Serializer().serialize(filename, allow_pickle) + if not data['type'] and not allow_pickle: + self._error('Unable to save Python object, set allow_pickle to True') data['checksum'] = calculate_sha256(data['pickled'], False) data['originalPath'] = '' data['size'] = sys.getsizeof(data['pickled']) From 663ab5de013b56ca713e383054a0c98a7cede32f Mon Sep 17 00:00:00 2001 From: Andrew Lahiff Date: Wed, 25 Jan 2023 21:10:29 +0000 Subject: [PATCH 4/4] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ed06b10..105760b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## v0.9.1 * (Bug fix) Retries in POST/PUTs to REST APIs didn't happen. +* Warn users if `allow_pickle=True` is required. ## v0.9.0