kopia lustrzana https://github.com/projecthorus/pysondehub
Handle 202 responses gracefully
rodzic
4075a417b7
commit
a2224da5dd
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "sondehub"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
description = "SDK to access SondeHub open data, and helpers for uploading telemetry."
|
||||
authors = ["Michaela <git@michaela.lgbt>"]
|
||||
readme = "README.md"
|
||||
|
|
|
@ -12,7 +12,7 @@ import queue
|
|||
import gzip
|
||||
|
||||
|
||||
__version__ = "0.3.2"
|
||||
__version__ = "0.3.3"
|
||||
|
||||
S3_BUCKET = "sondehub-history"
|
||||
|
||||
|
|
|
@ -455,7 +455,30 @@ class Uploader(object):
|
|||
_upload_success = True
|
||||
break
|
||||
|
||||
elif _req.status_code == 500:
|
||||
elif _req.status_code == 202:
|
||||
# A 202 return code means there was some kind of data issue.
|
||||
# We expect a response of the form {"message": "error message", "errors":[], "warnings":[]}
|
||||
try:
|
||||
_resp_json = _req.json()
|
||||
|
||||
for _error in _resp_json['errors']:
|
||||
self.log_error("Payload data error: " + _error["error_message"])
|
||||
if 'payload' in _error:
|
||||
self.log_debug("Payload data associated with error: " + str(_error['payload']))
|
||||
|
||||
for _warning in _resp_json['warnings']:
|
||||
self.log_warning("Payload data warning: " + _warning["warning_message"])
|
||||
if 'payload' in _warning:
|
||||
self.log_debug("Payload data associated with warning: " + str(_warning['payload']))
|
||||
|
||||
except Exception as e:
|
||||
self.log_error("Error when parsing 202 response: %s" % str(e))
|
||||
self.log_debug("Content of 202 response: %s" % _req.text)
|
||||
|
||||
_upload_success = True
|
||||
break
|
||||
|
||||
elif _req.status_code in [500,501,502,503,504]:
|
||||
# Server Error, Retry.
|
||||
self.log_debug(
|
||||
"Error uploading to Sondehub Amateur. Status Code: %d %s."
|
||||
|
|
Ładowanie…
Reference in New Issue