[1mdiff --git a/net/adafruit_io.py b/net/adafruit_io.py[m
[1mindex 46460e7..3c08845 100644[m
[1m--- a/net/adafruit_io.py[m
[1m+++ b/net/adafruit_io.py[m
[36m@@ -19,11 +19,7 @@[m [mclass AdafruitIO:[m
self.url = f'https://io.adafruit.com/api/v2/{username}/groups/{group}/data'[m
[m
def upload(self, reading):[m
[31m- result = urequests.post([m
[31m- self.url,[m
[31m- json=self.createPayload(reading),[m
[31m- headers=self.headers[m
[31m- )[m
[32m+[m[32m result = self.uploadReading(reading)[m
[m
try:[m
if result.status_code != 200:[m
[36m@@ -34,6 +30,13 @@[m [mclass AdafruitIO:[m
finally:[m
result.close()[m
[m
[32m+[m[32m def uploadReading(self, reading):[m
[32m+[m[32m return urequests.post([m
[32m+[m[32m self.url,[m
[32m+[m[32m json=self.createPayload(reading),[m
[32m+[m[32m headers=self.headers[m
[32m+[m[32m )[m
[32m+[m
def createPayload(self, reading):[m
payload = {[m
'created_at': reading['timestamp'],[m
[36m@@ -49,17 +52,11 @@[m [mclass AdafruitIO:[m
return payload[m
[m
def logError(self, result):[m
[31m- reason = 'unknown'[m
[32m+[m[32m status = result.status_code[m
[32m+[m[32m reason = result.reason.decode("utf-8")[m
error_message = self.getErrorMessage(result)[m
[m
[31m- if result.status_code == 429:[m
[31m- reason = 'rate limited'[m
[31m- elif result.status_code == 422 and error_message.find('data created_at may not be in the future') == 0:[m
[31m- reason = 'future reading'[m
[31m- else:[m
[31m- reason = f'{result.status_code} - {result.reason.decode("utf-8")}'[m
[31m-[m
[31m- logging.debug(f'upload issue: {reason} - "{error_message}"')[m
[32m+[m[32m logging.debug(f'Adafruit IO upload issue: {status} {reason} - "{error_message}"')[m
[m
def getErrorMessage(self, result):[m
try:[m
text/plain
This content has been proxied by September (3851b).