rht
05eaaff802
slack-bridge: Order imports properly.
2021-05-24 14:17:38 -07:00
rht
5b2da94ba5
slack-bridge: Use threading instead of multiprocessing.
...
This will fix the bug reported in
https://chat.zulip.org/#narrow/stream/127-integrations/topic/bridge_with_slack/near/1182555 ,
which is specific to macOS.
The error message is
```
AttributeError: Can't pickle local object 'SlackBridge.zulip_to_slack.<locals>._zulip_to_slack'
```
2021-05-24 14:17:38 -07:00
rht
2d9cf64db8
slack-bridge: Use slack_sdk instead of the deprecated slackclient.
2021-05-24 14:17:38 -07:00
Eeshan Garg
63fefd2a0f
pypi: Release version 0.8.0.
2021-05-19 22:44:45 -02:30
Abhijeet Prasad Bodas
4d482e0ef3
zulip: Replace GET realm/filters with realm/linkifiers.
...
In zulip/zulip@3947b0c80a , we replaced
the legacy endpoint to use the term "linkifier" instead of
"filter" and to return the data in a dictionary format.
None of the official clients currently actually use this
endpoint.
2021-04-27 11:06:17 -07:00
LoopThrough-i-j
3c3c361f50
zulip: Fix call_on_each_event.
...
Fix Improper assignement of narrow variable outside its scope.
2021-04-26 14:14:14 -07:00
Anders Kaseorg
83d4a0c217
sync-public-streams: Rewrite using an event queue.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-04-06 23:36:35 -07:00
Anders Kaseorg
15c46dce46
sync-public-streams: Fix for Python 3.
...
bytes are not JSON serializable.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-04-06 23:36:35 -07:00
Tim Abbott
4627b07396
zephyr: Decrease update frequency of sync-public-streams.
2021-04-06 15:15:42 -07:00
LoopThrough-i-j
70f457f82a
zulip: Add support for additional args for Client.call_on_each_*
.
...
- Added `**kwargs` typed `object` in the definition of
`Client.call_on_each_*` .
- Replaced `**kwargs` type from `Any` to `object` in the
definition of `Client.register`.
Fixes part of #647
2021-03-24 15:00:44 -07:00
rht
61abb4f59c
Add list_subscriptions() back for backward compatibility.
2021-03-11 00:00:56 -08:00
rht
57e8886dfe
API: Rename list_subscriptions to get_subscriptions.
2021-03-11 00:00:56 -08:00
Anders Kaseorg
503e8ed82d
zephyr: Attempt to fix types.
...
The mirror has some chance of running on Python 3 now, once the
python-zephyr patch is rebased on 0.2.1, though it’s untested.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-10 23:59:15 -08:00
Anders Kaseorg
34012a4015
mypy: Add stubs for zephyr.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-10 23:59:15 -08:00
Anders Kaseorg
717a549f4b
mypy: Prohibit unreachable code.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-04 15:17:09 -08:00
Anders Kaseorg
30f241a126
mypy: Remove unused type: ignore comments.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-04 15:09:58 -08:00
Anders Kaseorg
5b5fda2354
Fix % formatting without a tuple.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-04 15:04:38 -08:00
LoopThrough-i-j
3887ad102e
python-zulip-api: Drop python3.5 support.
...
Fixes Part of #655
2021-02-26 07:32:47 -08:00
LoopThrough-i-j
3e28506607
zulip-apis: Update reaction_data
type.
...
Update `reaction_data` type in add_reaction and
remove_reaction, from Dict[str, str] to Dict[str, Any]
2021-02-23 08:58:23 -08:00
Unam LN
984d9151d5
bots: Fix RSS bot for Python 3.x support.
...
- Call `super()` in the init method.
- Change return hashlib.md5 syntax to encode properly for Python 3
Signed-off-by: Manu LN <manu+github@lacavernedemanu.fr>
2020-12-22 16:34:32 -08:00
Tim Abbott
59a0a912a8
process_ccache: Update path to Zulip supervisord files.
2020-12-20 11:46:24 -08:00
Steve Howell
f100ab07aa
jabber mirror: Remove code for occupy/vacate events.
...
The server no longer sends occupy/vacate events
for streams.
The mirror should continue to work fine by processing
subsription-related events.
2020-10-20 11:21:44 -07:00
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
rht
f47559e68d
bridge_between_zulips: Replace "subject" with "topic" in doc.
2020-04-07 16:20:19 -07:00
rht
ceda54b50c
bridge_between_zulips: Add explanation of --stream to README.md.
2020-04-07 16:20:19 -07:00
Kartik Srivastava
6dd52439bf
api: Implement DELETE /users/{user_id} api endpoint.
2020-04-07 16:12:59 -07:00
Kartik Srivastava
8d7eb0fea3
api: Refactor get_user_by_id to take keyword arguments.
...
This refactors get_user_by_id to take arguments like
`include_custom_profile_fields = True` instead of
{include_custom_profile_fields: True}.
2020-04-07 16:12:11 -07:00
rht
d7c52c9a74
zulip/zulip/__init__.py: Remove shebang and add version assertion.
2020-04-05 07:28:13 -04:00
rht
aee73b32e0
zulip/setup.py: Remove Python 2 from supported versions.
2020-04-03 08:18:08 -04:00
rht
439c096eac
Remove all remaining six imports.
2020-04-03 08:18:08 -04:00
rht
565106b880
test_default_arguments: Add explicit python3 shebang.
2020-04-03 08:18:08 -04:00
rht
f34540d26d
Add explicit python3 shebang to __init__.py.
2020-04-03 08:18:08 -04:00
rht
4600ce59a3
Remove all remaining from __future__ imports.
2020-04-03 08:18:08 -04:00
rht
204871b518
Finish the remaining migration of shebang to python3.
2020-04-03 08:18:08 -04:00
rht
9ee8461b9d
bridges: Remove sender field from message data.
...
For the reason why, see
https://chat.zulip.org/#narrow/stream/127-integrations/topic/bridge.20between.20zulips
2020-04-03 06:19:22 -04:00
rht
46c78ce7b5
integrations: Remove usage of six.
2020-04-02 13:02:28 -04:00
rht
1412403037
integrations: Remove from __future__ imports.
2020-04-02 13:02:28 -04:00
rht
a465467388
integrations: Switch to python3.
2020-04-02 13:02:28 -04:00
rht
d174e589bf
examples/upload-file: Use python3-specific import of StringIO.
2020-04-02 09:56:59 -04:00
rht
87198501dc
examples: Remove from __future__ imports.
2020-04-02 09:56:59 -04:00
rht
e5144b8503
examples: Switch to python3.
2020-04-02 09:56:59 -04:00
orientor
d8157d6b80
bridge_with_irc: Initialize IRC bot after checking Zulip bot.
...
Confirm whether Zulip bot is subscribed to the required stream
first and then Initialize IRC bot object.
2020-03-30 17:41:14 -04:00
orientor
de40005f5e
bridge_with_irc: Improve user-friendliness.
...
Edit error and success messages of zulip-irc bridge to be more
user friendly.
2020-03-30 17:41:14 -04:00
rht
b771bacac0
bridge_with_irc: Check if bot is subscribed to stream at startup.
2020-03-27 06:59:29 -04:00
Eeshan Garg
ce73dab121
pypi: Release version 0.6.4.
2020-03-26 19:52:46 -02:30
Eeshan Garg
0b930cfe86
pypi: Add support for Python 3.8.
2020-03-26 13:38:08 -07:00
akashaviator
2cf49788fd
api: Implement GET users/{id} endpoint.
2020-03-25 17:00:52 -07:00
neiljp (Neil Pilgrim)
60984ab2fa
mypy: Add type ignores for mixing of str & bytes in zephyr mirror.
...
In principle these should be fixed properly, but the zephyr code is
difficult to test except in a production setting and is unlikely to be
heavily developed in future.
2020-03-24 21:25:45 -07:00
neiljp (Neil Pilgrim)
436b619021
integrations: Use universal_newlines in check_output to output as str.
...
Picked up by mypy; otherwise output is in bytes (at least on python 3).
2020-03-24 21:25:45 -07:00
neiljp (Neil Pilgrim)
f81843f189
mypy: Clarify type hints in zulip/integrations/.
2020-03-24 21:25:45 -07:00
rht
8a74f576a3
python: Remove per-file copyright notices.
...
These notices are redundant and obscure what are often very short
example scripts.
2020-03-23 12:52:52 -07:00