api: Implement PATCH /streams/<stream_id>.
This commit is contained in:
parent
aa6afbd2fe
commit
005829192e
|
@ -821,6 +821,18 @@ class Client(object):
|
||||||
request=request,
|
request=request,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def update_stream(self, stream_data):
|
||||||
|
# type: (Dict[str, Any]) -> Dict[str, Any]
|
||||||
|
'''
|
||||||
|
See examples/edit-stream for example usage.
|
||||||
|
'''
|
||||||
|
|
||||||
|
return self.call_endpoint(
|
||||||
|
url='streams/{}'.format(stream_data['stream_id']),
|
||||||
|
method='PATCH',
|
||||||
|
request=stream_data,
|
||||||
|
)
|
||||||
|
|
||||||
def get_members(self, request=None):
|
def get_members(self, request=None):
|
||||||
# type: (Optional[Dict[str, Any]]) -> Dict[str, Any]
|
# type: (Optional[Dict[str, Any]]) -> Dict[str, Any]
|
||||||
'''
|
'''
|
||||||
|
|
41
zulip/zulip/examples/edit-stream
Executable file
41
zulip/zulip/examples/edit-stream
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
import zulip
|
||||||
|
|
||||||
|
usage = """edit-stream --stream-id <stream_id>
|
||||||
|
[--description <new_description> --new-name <new_name>
|
||||||
|
--private --announcement-only --history-public-to-subscribers]
|
||||||
|
|
||||||
|
Example: edit-stream --stream-id=42 --description="A city in Italy." \
|
||||||
|
--new-name="Verona" --private
|
||||||
|
Example: edit-stream --stream-id=3 --history-public-to-subscribers
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def quote(string):
|
||||||
|
# type: (str) -> str
|
||||||
|
return '"{}"'.format(string)
|
||||||
|
|
||||||
|
|
||||||
|
parser = zulip.add_default_arguments(argparse.ArgumentParser(usage=usage))
|
||||||
|
parser.add_argument('--stream-id', type=int, required=True)
|
||||||
|
parser.add_argument('--description')
|
||||||
|
parser.add_argument('--new-name')
|
||||||
|
parser.add_argument('--private', action='store_true')
|
||||||
|
parser.add_argument('--announcement-only', action='store_true')
|
||||||
|
parser.add_argument('--history-public-to-subscribers', action='store_true')
|
||||||
|
options = parser.parse_args()
|
||||||
|
|
||||||
|
client = zulip.init_from_options(options)
|
||||||
|
|
||||||
|
print(client.update_stream({
|
||||||
|
'stream_id': options.stream_id,
|
||||||
|
'description': quote(options.description),
|
||||||
|
'new_name': quote(options.new_name),
|
||||||
|
'is_private': options.private,
|
||||||
|
'is_announcement_only': options.announcement_only,
|
||||||
|
'history_public_to_subscribers': options.history_public_to_subscribers
|
||||||
|
}))
|
Loading…
Reference in a new issue