Fix create_group. Update feeds example to create or fetch group.
This commit is contained in:
parent
f8c6b0c56a
commit
48b406df0e
2 changed files with 31 additions and 13 deletions
|
|
@ -390,10 +390,19 @@ class Client(object):
|
|||
def create_group(self, group):
|
||||
"""Create the specified group.
|
||||
|
||||
:param string group: Name/Key/ID of Adafruit IO Group.
|
||||
:param Group/string group: Group object to create, or name/key of of Adafruit IO Group.
|
||||
"""
|
||||
path = "groups/"
|
||||
return Group.from_dict(self._post(path, group._asdict()))
|
||||
return Group.from_dict(
|
||||
self._post(
|
||||
path=path,
|
||||
data=(
|
||||
group._asdict()
|
||||
if isinstance(group, Group)
|
||||
else {"name": group} if isinstance(group, str) else group
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
def delete_group(self, group):
|
||||
"""Delete the specified group.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Simple example of sending and receiving values from Adafruit IO with the REST
|
||||
# API client.
|
||||
# Author: Tony Dicola, Justin Cooper, Brent Rubell
|
||||
# Author: Tony Dicola, Justin Cooper, Brent Rubell, Tyeth Gundry
|
||||
|
||||
# Import Adafruit IO REST client.
|
||||
from Adafruit_IO import Client, Feed
|
||||
|
|
@ -19,9 +19,10 @@ ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY'
|
|||
aio = Client(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)
|
||||
|
||||
# List all of your feeds
|
||||
print("Obtaining user's feeds...")
|
||||
print("Obtaining user's feeds (key, name)...")
|
||||
feeds = aio.feeds()
|
||||
print('Feeds: ', feeds)
|
||||
print([(f.key, f.name) for f in feeds])
|
||||
print("End of feeds listing.\n")
|
||||
|
||||
# Create a new feed
|
||||
print("Creating new feed...")
|
||||
|
|
@ -30,19 +31,27 @@ response = aio.create_feed(feed)
|
|||
print("New feed: ", response)
|
||||
|
||||
# Delete a feed
|
||||
print("Deleting feed...", end="")
|
||||
aio.delete_feed(response.key)
|
||||
print("done.\n")
|
||||
|
||||
group2 = aio.groups('example')
|
||||
# Get / Create group - use aio.groups(key) and catch the error or do this:
|
||||
GROUP_KEY = "example"
|
||||
groups = aio.groups()
|
||||
group_keys = [g.key for g in groups]
|
||||
group = (
|
||||
groups[group_keys.index(GROUP_KEY)]
|
||||
if GROUP_KEY in group_keys
|
||||
else aio.create_group(GROUP_KEY)
|
||||
)
|
||||
|
||||
# Create feed in a group
|
||||
feed = Feed(name="PythonGroupFeed")
|
||||
group_key = "example"
|
||||
groups = aio.groups()
|
||||
group = groups[group_key] if group_key in groups else aio.create_group(group_key)
|
||||
print("Creating feed in group %s"%group_key)
|
||||
response = aio.create_feed(feed, group_key)
|
||||
print("Creating feed in group %s" % GROUP_KEY)
|
||||
response = aio.create_feed(feed, GROUP_KEY)
|
||||
print("New feed: ", response)
|
||||
|
||||
# Delete a feed within a group
|
||||
print("Deleting feed within group %s"%group_key)
|
||||
print("Deleting feed within group %s..." % GROUP_KEY, end="")
|
||||
aio.delete_feed(response.key)
|
||||
print("done.")
|
||||
|
|
|
|||
Loading…
Reference in a new issue