Skip to content

Added get_all_data and linted #44

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 31, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions adafruit_io/adafruit_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ def __init__(self, mqtt_client):
# MiniMQTT's username kwarg is optional, IO requires a username
try:
self._user = self._client.user
except:
except Exception as err:
raise TypeError(
"Adafruit IO requires a username, please set one in MiniMQTT"
)
) from err
# User-defined MQTT callback methods must be init'd to None
self.on_connect = None
self.on_disconnect = None
Expand Down Expand Up @@ -105,17 +105,17 @@ def reconnect(self):
"""
try:
self._client.reconnect()
except:
raise AdafruitIO_MQTTError("Unable to reconnect to Adafruit IO.")
except Exception as err:
raise AdafruitIO_MQTTError("Unable to reconnect to Adafruit IO.") from err

def connect(self):
"""Connects to the Adafruit IO MQTT Broker.
Must be called before any other API methods are called.
"""
try:
self._client.connect()
except:
raise AdafruitIO_MQTTError("Unable to connect to Adafruit IO.")
except Exception as err:
raise AdafruitIO_MQTTError("Unable to connect to Adafruit IO.") from err

def disconnect(self):
"""Disconnects from Adafruit IO MQTT Broker.
Expand Down Expand Up @@ -556,11 +556,22 @@ def send_data(self, feed_key, data, metadata=None, precision=None):
if precision:
try:
data = round(data, precision)
except NotImplementedError: # received a non-float value
raise NotImplementedError("Precision requires a floating point value")
except NotImplementedError as err: # received a non-float value
raise NotImplementedError(
"Precision requires a floating point value"
) from err
payload = self._create_data(data, metadata)
self._post(path, payload)

def receive_all_data(self, feed_key):
"""
Get all data values from a specified Adafruit IO feed. Data is
returned in reverse order.
:param str feed_key: Adafruit IO feed key
"""
path = self._compose_path("feeds/{0}/data".format(feed_key))
return self._get(path)

def receive_data(self, feed_key):
"""
Return the most recent value for the specified feed.
Expand Down
6 changes: 3 additions & 3 deletions adafruit_io/adafruit_io_errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class AdafruitIO_ThrottleError(Exception):
"""Adafruit IO request error class for rate-limiting"""

def __init__(self):
super(AdafruitIO_ThrottleError, self).__init__(
super().__init__(
"Number of Adafruit IO Requests exceeded! \
Please try again in 30 seconds.."
)
Expand All @@ -43,7 +43,7 @@ class AdafruitIO_RequestError(Exception):
def __init__(self, response):
response_content = response.json()
error = response_content["error"]
super(AdafruitIO_RequestError, self).__init__(
super().__init__(
"Adafruit IO Error {0}: {1}".format(response.status_code, error)
)

Expand All @@ -52,4 +52,4 @@ class AdafruitIO_MQTTError(Exception):
"""Adafruit IO MQTT error class"""

def __init__(self, response):
super(AdafruitIO_MQTTError, self).__init__("MQTT Error: {0}".format(response))
super().__init__("MQTT Error: {0}".format(response))
6 changes: 3 additions & 3 deletions examples/adafruit_io_http/adafruit_io_esp_at.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
import busio
from digitalio import DigitalInOut

# Import Adafruit IO HTTP Client
from adafruit_io.adafruit_io import IO_HTTP, AdafruitIO_RequestError

# ESP32 AT
from adafruit_espatcontrol import (
adafruit_espatcontrol,
Expand All @@ -22,6 +19,9 @@
# Use below for Most Boards
import neopixel

# Import Adafruit IO HTTP Client
from adafruit_io.adafruit_io import IO_HTTP, AdafruitIO_RequestError

status_light = neopixel.NeoPixel(
board.NEOPIXEL, 1, brightness=0.2
) # Uncomment for Most Boards
Expand Down
6 changes: 3 additions & 3 deletions examples/adafruit_io_http/adafruit_io_temperature.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
# Import NeoPixel Library
import neopixel

# Import Adafruit IO HTTP Client
from adafruit_io.adafruit_io import IO_HTTP, AdafruitIO_RequestError

# Import ADT7410 Library
import adafruit_adt7410

# Import Adafruit IO HTTP Client
from adafruit_io.adafruit_io import IO_HTTP, AdafruitIO_RequestError

# Get wifi details and more from a secrets.py file
try:
from secrets import secrets
Expand Down
2 changes: 1 addition & 1 deletion examples/adafruit_io_mqtt/adafruit_io_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from adafruit_esp32spi import adafruit_esp32spi_wifimanager
import adafruit_esp32spi.adafruit_esp32spi_socket as socket
import neopixel
from adafruit_io.adafruit_io import IO_MQTT
import adafruit_minimqtt.adafruit_minimqtt as MQTT
from adafruit_io.adafruit_io import IO_MQTT

### WiFi ###

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
from adafruit_fona.adafruit_fona_gsm import GSM
import adafruit_fona.adafruit_fona_socket as cellular_socket

from adafruit_io.adafruit_io import IO_MQTT
import adafruit_minimqtt.adafruit_minimqtt as MQTT
from adafruit_io.adafruit_io import IO_MQTT

# Get MQTT details and more from a secrets.py file
try:
Expand Down
2 changes: 1 addition & 1 deletion examples/adafruit_io_mqtt/adafruit_io_simpletest_eth.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K
import adafruit_wiznet5k.adafruit_wiznet5k_socket as socket
from adafruit_io.adafruit_io import IO_MQTT
import adafruit_minimqtt.adafruit_minimqtt as MQTT
from adafruit_io.adafruit_io import IO_MQTT

# Get MQTT details and more from a secrets.py file
try:
Expand Down
2 changes: 1 addition & 1 deletion examples/adafruit_io_simpletest.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
from adafruit_esp32spi import adafruit_esp32spi_wifimanager
import adafruit_esp32spi.adafruit_esp32spi_socket as socket
import neopixel
from adafruit_io.adafruit_io import IO_MQTT
import adafruit_minimqtt.adafruit_minimqtt as MQTT
from adafruit_io.adafruit_io import IO_MQTT

### WiFi ###

Expand Down