Simplify adafruit io error logging
This commit is contained in:
parent
47355d820d
commit
97e63124d4
|
@ -19,11 +19,7 @@ class AdafruitIO:
|
|||
self.url = f'https://io.adafruit.com/api/v2/{username}/groups/{group}/data'
|
||||
|
||||
def upload(self, reading):
|
||||
result = urequests.post(
|
||||
self.url,
|
||||
json=self.createPayload(reading),
|
||||
headers=self.headers
|
||||
)
|
||||
result = self.uploadReading(reading)
|
||||
|
||||
try:
|
||||
if result.status_code != 200:
|
||||
|
@ -34,6 +30,13 @@ class AdafruitIO:
|
|||
finally:
|
||||
result.close()
|
||||
|
||||
def uploadReading(self, reading):
|
||||
return urequests.post(
|
||||
self.url,
|
||||
json=self.createPayload(reading),
|
||||
headers=self.headers
|
||||
)
|
||||
|
||||
def createPayload(self, reading):
|
||||
payload = {
|
||||
'created_at': reading['timestamp'],
|
||||
|
@ -49,17 +52,11 @@ class AdafruitIO:
|
|||
return payload
|
||||
|
||||
def logError(self, result):
|
||||
reason = 'unknown'
|
||||
status = result.status_code
|
||||
reason = result.reason.decode("utf-8")
|
||||
error_message = self.getErrorMessage(result)
|
||||
|
||||
if result.status_code == 429:
|
||||
reason = 'rate limited'
|
||||
elif result.status_code == 422 and error_message.find('data created_at may not be in the future') == 0:
|
||||
reason = 'future reading'
|
||||
else:
|
||||
reason = f'{result.status_code} - {result.reason.decode("utf-8")}'
|
||||
|
||||
logging.debug(f'upload issue: {reason} - "{error_message}"')
|
||||
logging.debug(f'Adafruit IO upload issue: {status} {reason} - "{error_message}"')
|
||||
|
||||
def getErrorMessage(self, result):
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue