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'
|
self.url = f'https://io.adafruit.com/api/v2/{username}/groups/{group}/data'
|
||||||
|
|
||||||
def upload(self, reading):
|
def upload(self, reading):
|
||||||
result = urequests.post(
|
result = self.uploadReading(reading)
|
||||||
self.url,
|
|
||||||
json=self.createPayload(reading),
|
|
||||||
headers=self.headers
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if result.status_code != 200:
|
if result.status_code != 200:
|
||||||
|
@ -34,6 +30,13 @@ class AdafruitIO:
|
||||||
finally:
|
finally:
|
||||||
result.close()
|
result.close()
|
||||||
|
|
||||||
|
def uploadReading(self, reading):
|
||||||
|
return urequests.post(
|
||||||
|
self.url,
|
||||||
|
json=self.createPayload(reading),
|
||||||
|
headers=self.headers
|
||||||
|
)
|
||||||
|
|
||||||
def createPayload(self, reading):
|
def createPayload(self, reading):
|
||||||
payload = {
|
payload = {
|
||||||
'created_at': reading['timestamp'],
|
'created_at': reading['timestamp'],
|
||||||
|
@ -49,17 +52,11 @@ class AdafruitIO:
|
||||||
return payload
|
return payload
|
||||||
|
|
||||||
def logError(self, result):
|
def logError(self, result):
|
||||||
reason = 'unknown'
|
status = result.status_code
|
||||||
|
reason = result.reason.decode("utf-8")
|
||||||
error_message = self.getErrorMessage(result)
|
error_message = self.getErrorMessage(result)
|
||||||
|
|
||||||
if result.status_code == 429:
|
logging.debug(f'Adafruit IO upload issue: {status} {reason} - "{error_message}"')
|
||||||
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}"')
|
|
||||||
|
|
||||||
def getErrorMessage(self, result):
|
def getErrorMessage(self, result):
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue