diff --git a/zulip/zulip/__init__.py b/zulip/zulip/__init__.py index f78858f..ddafda8 100644 --- a/zulip/zulip/__init__.py +++ b/zulip/zulip/__init__.py @@ -848,6 +848,16 @@ class Client(object): request=None, ) + def get_stream_topics(self, stream_id): + # type: (int) -> Dict[str, Any] + ''' + See examples/get-stream-topics for example usage. + ''' + return self.call_endpoint( + url='users/me/{}/topics'.format(stream_id), + method='GET' + ) + def get_subscribers(self, **request): # type: (**Any) -> Dict[str, Any] ''' diff --git a/zulip/zulip/examples/get-stream-topics b/zulip/zulip/examples/get-stream-topics new file mode 100755 index 0000000..8fc8616 --- /dev/null +++ b/zulip/zulip/examples/get-stream-topics @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import argparse + +usage = """get-stream-topics --stream-id= [options] + +Get all the topics for a specific stream. +""" + +import zulip + +parser = zulip.add_default_arguments(argparse.ArgumentParser(usage=usage)) +parser.add_argument('--stream-id', required=True) +options = parser.parse_args() + +client = zulip.init_from_options(options) + +print(client.get_stream_topics(options.stream_id))