Eeshan Garg
befbb953dd
pypi: Release version 0.7.1.
2020-10-09 15:50:43 -02:30
Thomas Michelat
3630208389
api: Add binding for moving topics between streams.
...
Adds the method move_topic to the class Client that allows moving
topics between streams.
- The topic can be renamed if the new_topic argument is given
- Partial topic can be moved givent the proper message_id and
propagate_mode arguments.
- notification to old/new stream can be silenced (active by default)
2020-09-14 15:13:10 -07:00
Kartik Srivastava
1df19c0665
api: update_user_group_members should have a user_group_id parameter.
...
This avoids weirdly passing an extra field in the request, and also
makes the bindings better align with the API.
2020-08-27 12:55:21 -07:00
Preet Mishra
9a4abb9f87
zulip: Add hash_util_decode() to decode server encoded URL excerpts.
...
This adds hash_util_decode() to decode a hash_util_encode() [present in
zulip/zulip's zerver/lib/url_encoding.py [1]] encoded string.
The intent is to facilitate code sharing among various python clients
(primarily, Zulip Terminal).
The string replacement before the `unquote` is to recoup for the custom
string replacements in zulip/zulip's zerver/lib/url_encoding.py [1].
Test added.
[1] See hash_util_encode() in https://github.com/zulip/zulip/blob/master/zerver/lib/url_encoding.py .
2020-08-25 16:08:32 -07:00
rht
e992f14522
slack-bridge: Use WebClient to post message in Slack.
2020-08-25 15:55:25 -07:00
rht
47a4f258d7
slack-bridge: Update processing of members list according to new API.
2020-08-25 15:55:25 -07:00
rht
89d0dd56b9
slack-bridge: Fall back to real_name when display_name is empty.
...
This will intentionally raise exception when a real_name field of a user
is empty.
2020-08-25 15:55:25 -07:00
rht
02867979ee
bridge: Initialize bridge_with_slack.
2020-08-25 15:55:25 -07:00
Kartik Srivastava
0e98533186
api: Implement GET /users/{user_id}/subscriptions/{stream_id} endpoint.
2020-08-14 16:22:12 -07:00
rht
f529bc0d01
IRC bridge: Add documentation on nick password.
2020-08-10 17:12:04 -07:00
rht
fe2a4d6fe8
[BUGFIX] IRC bridge: Use connection initialized from aio_reactor.
...
Additionally, pin the irc library version to 18.0 because the newer
version has an error in the AioReactor:
```
File "/home/rht/code/venv/lib/python3.8/site-packages/irc/bot.py", line 108, in run
self.bot.reactor.scheduler.execute_after(intvl, self.check)
AttributeError: 'AioReactor' object has no attribute 'scheduler'
```
2020-08-10 17:12:04 -07:00
Kartik Srivastava
36071821c3
api: Update type annotation in 'remove_subscriptions'.
...
This updates the type annotation for the 'principals' argument
to accept a list of email addresses as well as user ids.
2020-08-10 16:38:39 -07:00
Alex Vandiver
9745ec9ceb
doc: Document the backoff class better.
2020-08-10 15:07:01 -07:00
Alex Vandiver
7a7cfe637e
zephyr: Mark the infinite loops as NoReturn.
2020-08-10 15:07:01 -07:00
Alex Vandiver
a20c9cc6d7
zephyr: Use exponential backoffs in retry loops.
...
This reduces the number of retries that might spam APIs.
There is some complexity here which is left un-managed -- for
instance, maybe_restart_mirroring_script does a number of restart
attempts, and then fails, but will be retried every 15s by the
surrounding `process_loop`. Previously, it would merely have looped
forever inside maybe_restart_mirroring_script.
Three loops are intentionally left as infinite `while True` loops,
that merely cap their backoff at the default 90s. Their callers do
not expect, or have any way to handle more gracefully, a failure of
the expected-infinite-loop in `process_loop` or `zulip_to_zephyr`.
They maintain their previous behavior of retrying forever, albeit more
slowly.
2020-08-10 15:07:01 -07:00
rht
8670cce8e9
Matrix bridge: Change the condition of not_from_zulip_bot.
2020-08-07 08:15:07 -04:00
Kartik Srivastava
20e7f197e3
api: Implement DELETE /realm/emoji/{emoji_name}.
2020-08-03 10:29:38 -07:00
Anders Kaseorg
396ef1d11a
Update zulipchat.com emails to zulip.com.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 21:06:58 -07:00
Anders Kaseorg
5f81eb3a70
Update zulipchat.com links to zulip.com.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 21:06:58 -07:00
Kartik Srivastava
9e9b1efdae
api: Implement PATCH /realm/profile_fields/{field_id} endpoint.
2020-05-29 17:18:25 -07:00
Kartik Srivastava
e25ebce27b
api: Implement PATCH /realm/profile_fields endpoint.
2020-05-29 17:18:25 -07:00
Kartik Srivastava
a85ac15d2d
api: Implement DELETE /realm/profile_fields/{field_id} endpoint.
2020-05-29 17:18:25 -07:00
Kartik Srivastava
22392779a3
api: Implement POST /realm/profile_fields endpoint.
2020-05-29 17:18:25 -07:00
Kartik Srivastava
30fa7c5d2f
api: Implement GET /realm/profile_fields endpoint.
2020-05-29 17:18:25 -07:00
Kartik Srivastava
16737e4ed3
api: Add get_members wrapper for get_users for backwards compatibility.
2020-05-14 11:37:23 -07:00
Kartik Srivastava
d2b9976015
api: Rename get_members to get_users.
2020-05-14 11:36:17 -07:00
neiljp (Neil Pilgrim)
540d453237
setup.py: Add Source & Documentation project_urls.
...
The only existing url points to zulip.org -> zulipchat.com
2020-05-05 09:20:50 -04:00
neiljp (Neil Pilgrim)
f2c8295fcb
requirements: Remove unnecessary install dependency upon six & typing.
...
The latest release was fully python 3.5+, making these dependencies
redundant.
2020-05-05 09:20:50 -04:00
Eeshan Garg
1dac75f979
pypi: Release version 0.7.0.
2020-04-20 23:23:58 -02:30
Eeshan Garg
4e0c963127
zulip/README.md: Add note clarifying Python 2 support.
2020-04-18 20:33:17 -07:00
Anders Kaseorg
f616b9259e
irc_mirror_backend: Remove repeated dictionary key.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
17cf26aa1f
cleanup: Move line breaks before binary operators.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
bd9bb0a4e8
cleanup: Fix indentation.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
54b2578204
cleanup: Remove unused variables.
...
Generated by autoflake.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
2f6623bbc4
cleanup: Remove unused imports.
...
Generated by autoflake.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
5428c5f296
typing: Convert function type annotations to Python 3 style.
...
Generated by com2ann (slightly patched to avoid also converting
assignment type annotations, which require Python 3.6), followed by
some manual whitespace adjustment, and two fixes for use-before-define
issues:
- def set_zulip_client(self, zulipToJabberClient: ZulipToJabberBot) -> None:
+ def set_zulip_client(self, zulipToJabberClient: 'ZulipToJabberBot') -> None:
-def init_from_options(options: Any, client: Optional[str] = None) -> Client:
+def init_from_options(options: Any, client: Optional[str] = None) -> 'Client':
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
fe72f3b131
typing: Remove ‘if False’ guard for typing imports.
...
typing is in the Python 3.5 standard library.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
ddb05ea7eb
add_default_arguments: Correct custom_error_handling type annotation.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Anders Kaseorg
953709fdd5
log2zulip: Adjust for zulip setup_path_on_import → setup_path change.
...
687553a661
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:31:14 -07:00
Kartik Srivastava
f9d6c085a1
api: Implement POST /default_streams api endpoint.
2020-04-18 15:05:53 -07:00
akashaviator
ef730b2c1b
api: Implement GET /messages/matches_narrow endpoint.
2020-04-18 15:05:36 -07:00
Anders Kaseorg
d68437d5f5
Rewrite some strings using raw string syntax.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 15:04:36 -07:00
Anders Kaseorg
e30b3b094b
Modernize legacy Python 2 syntax with pyupgrade.
...
Generated by `pyupgrade --py3-plus --keep-percent-format` followed by
manual indentation fixes.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 15:04:36 -07:00
Eeshan Garg
543eb396b9
zulip/README: Specify the required Python version.
...
We recently dropped support for Python versions less than 3.5.
Since the README is also used as the project description on our
PyPI homepage, we need to be more explicit about what version of
Python our bindings require.
2020-04-16 19:35:54 -07:00
Eeshan Garg
dd201926fa
pypi_packages: Use README files for long descriptions.
2020-04-16 19:35:54 -07:00
Eeshan Garg
c55bf78c6b
pypi: Specify the correct license classifier for all packages.
2020-04-16 19:35:54 -07:00
Kartik Srivastava
04e43b95bc
api: Implement /users/{user_id}/reactivate api endpoint.
2020-04-15 17:18:00 -07:00
akashaviator
59b025d2e4
api: Implement PATCH /users/{user_id} endpoint.
2020-04-09 17:17:59 -07:00
Kartik Srivastava
ed706c24ce
api: Implement GET /realm/presence endpoint.
2020-04-09 17:17:29 -07:00
Kartik Srivastava
8b0fa6bfee
api: Implement GET /attachments endpoint.
2020-04-07 16:44:49 -07:00