API: Add unsubscribe function.

(imported from commit 6dc55e9030770500770ce3921a4e77499d64f2d6)
This commit is contained in:
Tim Abbott 2012-11-16 14:15:03 -05:00
parent bd63afef5c
commit 5689e99a0d
2 changed files with 45 additions and 0 deletions

View file

@ -110,6 +110,10 @@ class HumbugAPI():
request = {'subscriptions': streams} request = {'subscriptions': streams}
return self.do_api_query(request, "/api/v1/subscriptions/add") return self.do_api_query(request, "/api/v1/subscriptions/add")
def remove_subscriptions(self, streams):
request = {'subscriptions': streams}
return self.do_api_query(request, "/api/v1/subscriptions/remove")
def call_on_each_message(self, callback, options = {}): def call_on_each_message(self, callback, options = {}):
max_message_id = None max_message_id = None
while True: while True:

41
examples/unsubscribe Executable file
View file

@ -0,0 +1,41 @@
#!/usr/bin/python
import sys
import os
import optparse
usage = """unsubscribe --user=<email address> [options] --streams=<streams>
Ensures the user is not subscribed to the listed streams.
Example: unsubscribe --user=tabbott@humbughq.com --site=http://127.0.0.1:8000
"""
parser = optparse.OptionParser(usage=usage)
parser.add_option('--site',
dest='site',
default="https://humbughq.com",
action='store')
parser.add_option('--api-key',
dest='api_key',
default="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
action='store')
parser.add_option('--streams',
dest='streams',
default="",
action='store')
parser.add_option('--user',
dest='user',
action='store')
(options, args) = parser.parse_args()
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
import api.common
client = api.common.HumbugAPI(email=options.user,
api_key=options.api_key,
verbose=True,
site=options.site)
if options.streams == "":
print >>sys.stderr, "Usage:", parser.usage
sys.exit(1)
print client.remove_subscriptions(options.streams.split())