Steve Howell
dd37e27b36
docstring: Use user_ids for typing endpoint.
2020-02-23 07:45:33 -05:00
Sutou Kouhei
843b21769a
twitter: Add support for phrase.
...
Twitter supports phrase search by quoting terms such as "Zulip API".
If we use the feature, the current twitter-bot can't detect used
search phrase. We can detect used search phrase with this change.
2020-01-14 15:58:08 -08:00
Eeshan Garg
957b5e7ad8
pypi: Release version 0.6.3.
2019-12-16 11:48:56 -03:30
neiljp (Neil Pilgrim)
0a01ea0412
zulip: Move dependency on distro into zulip package.
2019-12-15 11:06:43 -08:00
Eeshan Garg
efcc89da9d
pypi: Release version 0.6.2.
2019-12-14 16:38:48 -03:30
Puneeth Chaganti
63bc9b8a4f
zulip: Use distro.linux_distribution instead of platform
...
Python 3.8 removes `platform.linux_distribution` and `distro` is the
recommended replacement to use for this function.
2019-11-01 17:49:49 -07:00
Kreyren
3e155ecf93
rss-bot: Updated link pointing to .zuliprc
...
I believe that rss-bot is pointing to wrong page on documentation, this MR should fix it.
Signed-off-by: Jacob Hrbek <werifgx@gmail.com>
2019-09-08 16:51:54 -07:00
Anders Kaseorg
bcffa76873
Restore dependency on typing package for Python < 3.5.
...
Apparently we still support Python 2.7 for some reason.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-09-03 13:29:52 -07:00
neiljp (Neil Pilgrim)
0427d962b0
setup.py: Add supported python versions for all packages.
2019-09-03 13:28:32 -07:00
Anders Kaseorg
804501610b
Remove dependency on typing package.
...
It’s in the standard library in Python ≥ 3.5. (We could have used
`'typing;python_version<"3.5"'` to continue supporting earlier
versions, but we don’t.)
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-08-09 17:29:04 -07:00
Anders Kaseorg
567d6ebc25
Client.get_user_presence: Fix blatantly incorrect type annotation.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-08-07 16:53:42 -07:00
Eeshan Garg
e5bcd095fd
pypi: Release version 0.6.1.
2019-07-14 21:17:53 -02:30
Puneeth Chaganti
1231da46bf
log2zulip: Remove unnecessary loop and fix incorrect variable name.
2019-07-13 11:09:36 -07:00
neiljp (Neil Pilgrim)
c2e5b14034
api: Add UnrecoverableNetworkError Exception & use in do_api_query.
...
This replaces one case where the base ZulipError was raised, and another
where the original exception was re-raised.
This method, and so all API calls, should now only fail via raising this
Exception or by a non-'success' result in the return value dict; this
should avoid leaking any implementation detail and clarify expectations
in user code.
2019-03-29 14:12:26 -07:00
Eeshan Garg
accfa8ddaf
pypi: Release version 0.6.0.
2019-03-19 19:43:23 -02:30
Eeshan Garg
3a2e85c2b1
zulip: Fix argument name in add/remove reaction example comment.
...
The actual argument is supposed to be named `reaction_type`, not
`emoji_type`.
2019-03-02 19:12:44 -03:30
Eeshan Garg
d43b9328f0
pypi: Release version 0.5.9.
2019-02-17 02:49:27 -03:30
neiljp (Neil Pilgrim)
47f9b103ab
api: Fix add_reaction method to pass reaction_data.
...
Also correct the example usage text.
2019-02-16 03:29:24 -08:00
rht
6368b63e6c
interrealm: Fix the msg formatting with special prefixes.
...
Tweaked by tabbott to cover all code blocks, not just quote blocks.
See https://chat.zulip.org/#narrow/stream/127-integrations/topic/cross.20realm.20bridge/near/695907
2019-02-15 16:43:36 -08:00
Sivagiri Visakan
26c85bb9ed
zulip/examples: Add a script to get complete history of a narrow.
...
Fixes #476 .
2019-01-28 22:49:47 -03:30
rht
4773370cc1
bridge_with_irc: Tell people to subscribe their bots to the stream.
2019-01-23 12:40:47 -08:00
Eeshan Garg
9931de2c6b
pypi: Release version 0.5.8.
2019-01-22 22:35:37 -03:30
Eeshan Garg
f2eaf80b9e
integrations/rss: Pass config_file to zulip.Client.
...
Fixes #499 .
2019-01-22 22:16:20 -03:30
rht
5b7f0c24bb
bridge_with_irc: Implement nickserv password.
2019-01-17 14:19:46 -08:00
rht
5b704b7c1c
bridge_with_irc: Prefix zulip->irc message with sender full name.
2019-01-17 14:19:46 -08:00
rht
836a51a8bf
bridge_with_irc: Only forward stream messages at the specified topic.
2019-01-17 14:19:46 -08:00
rht
8ef0aba74a
bridge_with_irc: Add command line arg to specify topic.
2019-01-16 16:27:52 -08:00
rht
8e69598a46
bridge_with_irc: Add a brief documentation.
2019-01-16 16:27:52 -08:00
rht
9efa0feaaf
bridge_with_irc: Bump irc requirements version.
2019-01-16 16:27:52 -08:00
rht
e14bb510cb
bridge_with_irc: Remove obsolete comment.
2019-01-16 16:27:52 -08:00
rht
116a1228ae
bridge_with_irc: Disable echo on Zulip -> IRC.
2019-01-16 16:27:52 -08:00
rht
edcf1fd8e9
bridge_with_irc: Fix sending from Zulip to IRC and enable it by default.
2019-01-16 16:27:52 -08:00
rht
910f83ee8e
bridge_with_irc: Use async client to avoid timeout.
2019-01-16 16:27:52 -08:00
rht
9be5ec33b3
bridge_with_irc: Relay msg instead of forge msg on IRC -> Zulip.
2019-01-16 16:27:52 -08:00
rht
a5bc4b716c
bridge_with_irc: Add command line arg to specify stream.
2019-01-16 16:27:52 -08:00
Eeshan Garg
ed6c797d19
pypi: Release version 0.5.7.
2019-01-16 20:50:46 -03:30
neiljp (Neil Pilgrim)
eb0e150a71
api: Add Optional timeout parameter to deregister.
2019-01-14 19:24:08 -08:00
neiljp (Neil Pilgrim)
f858e48468
api: Add timeout parameter to do_api_query and call_endpoint.
2019-01-14 19:24:08 -08:00
Roger Souza
3f2b11c345
api: Implement POST /realm/emoji<emoji_name>.
2018-12-20 17:49:31 -03:30
Eeshan Garg
d478c91965
pypi: Release version 0.5.6.
2018-12-17 17:07:32 -03:30
Maxim Vov
d68bc7eada
twitter: Add --excluded-users and --excluded-terms options.
...
This makes it easy to filter out an users/terms that are effectively
spam for your use case.
2018-12-13 14:11:20 -08:00
Eeshan Garg
09deda9466
pypi: Release version 0.5.5.
2018-09-25 22:36:57 -02:30
Eeshan Garg
6e443b6d23
zulip_trello.py: Print error if requests isn't installed.
2018-09-25 22:28:25 -02:30
Eeshan Garg
71a15bd89e
integrations/trello: Make the zulip_trello script self-contained.
...
A few users have complained about how hard it is to find the
Trello script on their systems after installing the `zulip`
package. Rishi and I decided that we should instead just ask
the users to download the script directly and run it without
having to install the `zulip` package.
This commit also ensures that the script can be run on both
py2 and py3.
2018-09-25 22:28:25 -02:30
Eeshan Garg
5210e79dbd
integrations/trello: Stop logging to CSV file in Trello script.
...
The information logged to the CSV file is largely redundant, since
the ID of the webhook is already printed to the screen once a
webhook is setup correctly.
Since this is a script that the user is required to run
once, we should minimize its reliance on external files as much
as possible. This makes it easier to run the script when one
is SSH-ing into a server and doesn't really care about where
the script lives, for instance.
2018-09-25 22:28:25 -02:30
Eeshan Garg
1de6613825
integrations/trello: Stop using config files in the Trello script.
...
A few users have complained about how hard it is to find the
Trello script on their systems after installing the `zulip`
package. One way to solve this issue is to make the Trello
script a part of the exported console scripts in the zulip
package, which would mean that the user would not have to
navigate to a particular directory in order to find the script,
but could run it from a terminal directly.
However, to make this happen, we need to minimize the script's
reliance on external configuration files, because we don't want
the user to have to figure out where the config file lives.
2018-09-25 22:28:25 -02:30
Eeshan Garg
048fa79a7c
pypi: Release version 0.5.4.
...
Starting now, we now also have a CHANGELOG to record major changes
to the zulip package.
2018-08-31 17:25:55 -02:30
Yago González
256a17fa94
api: Rename "get_presence" to "get_user_presence".
...
Given that this method fetches the presence status for a single user,
the "get_presence" name should be reserved for the endpoint that gets
the presence for all users.
2018-08-28 11:28:35 -07:00
Roman Godov
d02dbbcf75
api: Implement GET /user_groups.
2018-08-27 18:39:27 -02:30
Yago González
bf752a860c
api: Implement DELETE /streams/<stream_id>.
2018-08-27 18:36:12 -02:30
Eeshan Garg
6151f2db40
pypi: Release version 0.5.3.
2018-08-17 22:21:01 -02:30
Yago González
7dfecf5577
api: Implement DELETE /realm/filters/<filter_id>.
2018-08-14 10:54:18 -02:30
Yago González
b2de1e8e67
api: Implement POST /realm/filters.
2018-08-14 10:54:18 -02:30
Yago González
ac697026b1
api: Implement GET /realm/filters.
2018-08-14 10:54:18 -02:30
Yago González
5747e76c08
api: Make all endpoint paths relative.
...
Most of the endpoints we call in the bindings are put relative to the
API's root. These two were absolute paths (i.e. they had a leading
slash), so it has been changed for consistency.
2018-08-14 10:54:18 -02:30
Yago González
c480657952
api: Implement POST /user_groups/<user_group_id>/members.
2018-08-14 10:51:50 -02:30
Yago González
8dffb18216
api: Implement DELETE /user_groups/<user_group_id>.
2018-08-14 10:51:50 -02:30
Yago González
851eb1b3bb
api: Implement PATCH /user_groups/<user_group_id>.
2018-08-14 10:51:50 -02:30
Yago González
c6b123016e
api: Implement PATCH /settings/notifications.
2018-08-13 11:27:32 -07:00
Yago González
330fc4783e
api: Implement POST /mark_topic_as_read.
2018-08-13 11:27:16 -07:00
Yago González
4ab53c9073
api: Implement POST /mark_stream_as_read.
2018-08-13 11:27:16 -07:00
Yago González
ac399d895d
api: Implement POST /mark_all_as_read.
2018-08-13 11:27:16 -07:00
Yago González
92ceb991a3
api: Implement GET /server_settings.
2018-08-13 11:26:34 -07:00
Yago González
a17e8954a8
api: Implement POST /typing.
2018-08-09 18:37:15 -02:30
neiljp (Neil Pilgrim)
39fb287fba
matrix tests: tweak import and add __init__.py to ensure tests run.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
28f05676f2
matrix: Use six.moves.configparser.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
f007fc9aaa
matrix tests: Add test for case that zuliprc file does not exist.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
1d01308caf
matrix tests: Add test for writing sample config using zuliprc.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
8999f0a352
matrix bridge: Separate print output from sys.exit calls.
...
This appears to be necessary for acquiring the text for testing.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
71b405e95d
zulip bridge: Use python instead of python3 in script.
...
This script moved from the bots package to the API package, and does not
explicitly require python3.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
617e16cebb
bridges: Bring inter-realm (zulip) bridge into zulip/ & rename others.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
fc416082aa
zulip: Update setup.py to install matrix bridge & add dependencies.
...
Dependencies added:
* matrix_client: for matrix bridge itself;
* configparser: for python2 compatibility.
2018-08-08 17:26:15 -07:00
neiljp (Neil Pilgrim)
ec9f72f516
matrix bridge: Add optional from-zuliprc to use with write-sample-config.
...
If specified, the new option uses the information to pre-populate the
sample configuration file.
2018-08-08 17:26:15 -07:00
Yago González
6f74d5414a
api: Implement POST /messages/<message_id>/reactions.
2018-08-08 17:23:21 -07:00
Yago González
49e919ac3a
api: Implement DELETE /messages/<message_id>/reactions.
2018-08-08 17:23:21 -07:00
Yago González
0ca25af06e
api: Implement POST /user_groups/create.
2018-08-08 17:22:35 -07:00
Yago González
2f463e2a88
api: Implement POST /users/me/presence.
2018-08-08 17:22:05 -07:00
neiljp (Neil Pilgrim)
8b4f23d6aa
matrix tests: Add test for zulip-to-matrix messages.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
4b50ea2569
matrix tests: Refactor zulip message validity tests.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
02799315ea
matrix tests: Add zulip message validity failure tests.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
1e7b5ee5f2
matrix tests: Add zulip message validity success test.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
e693c25abc
matrix tests: Add test for sample config generation.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
c692c4712a
matrix tests: Refactor running script into helper function.
2018-08-03 16:16:40 -07:00
neiljp (Neil Pilgrim)
fd66eb61c7
matrix tests: Add minimal help test for no-args and with -h.
2018-08-03 16:16:40 -07:00
Tim Abbott
6d8ac7c3c0
api: Check for BAD_EVENT_QUEUE_ID code.
...
This is the best way to do this check, since it isn't subject to i18n
modifying the strings. The server feature was originally introduced
in zulip/zulip commit 709c3b50fcba333740bb337bac69a801dbbdc4ee.
Since it's only 1 year old and the outcome is quite bad if this check
weren't present, we preserve support for older servers.
2018-08-02 15:59:52 -07:00
Eeshan Garg
1127f973aa
pypi: Release version 0.5.2.
2018-07-26 21:19:12 -02:30
Yago González
91135fca09
api: Implement POST /users/me/subscriptions/properties.
2018-07-13 01:10:58 +05:30
Yago González
04d6c58cc4
api: Add example for managing alert words.
...
This example makes use of get_alert_words, add_alert_words and
remove_alert_words, three methods that interact with the
/users/me/alert_words REST API endpoint.
2018-07-12 16:40:58 -02:30
Yago González
3070106365
api: Implement DELETE /users/me/alert_words.
2018-07-12 16:40:58 -02:30
Yago González
c661d78b63
api: Implement POST /users/me/alert_words.
2018-07-12 16:40:58 -02:30
Yago González
c057e0df14
api: Implement GET /users/me/alert_words.
2018-07-12 16:40:58 -02:30
Yago González
f6646f9cba
api: Implement PATCH /users/me/subscriptions/muted_topics.
2018-07-09 15:05:04 -02:30
Yago González
2da5fb3484
api: Rename update-flags to update-message-flags.
...
Followup for #449 .
2018-07-04 18:14:48 +02:00
Yago González
4d9b3226fd
api: Implement GET /realm/emoji.
2018-07-03 20:01:56 -02:30
Yago González
a96c3f0db0
api: Implement POST /messages/flags.
2018-07-03 11:03:26 -07:00
Eeshan Garg
c2fdd547f7
PyPI: Release 0.5.1.
2018-07-01 12:05:59 -02:30
Shubham Dhama
918e63a220
zulip_bots: Fix get_storage request arguments in StateHandler.
2018-07-01 08:01:18 -04:00
Yago González
f8fd7b6fbf
api: Implement GET /messages/<message_id>/history.
2018-06-28 20:26:06 -02:30
Yago González
2da831bbe1
api: Fix mypy annotations for delete_message.
2018-06-28 20:26:06 -02:30
Yago González
e6972bcbb9
api: Add extra arguments to get-messages example.
2018-06-26 19:46:22 -02:30
Yago González
0e39ca5236
api: Remove recent-messages example.
...
The GET /messages action has been recently implemented into our
bindings. Therefore this example has been superseded by get-messages,
which is capable of fetch messages in a more fine-grained way.
2018-06-26 19:46:22 -02:30
Yago González
38f3e1a9f5
api: Implement GET /messages/<message_id>.
2018-06-26 19:42:49 -02:30
Yago González
e2f379675b
api: Implement DELETE /messages/<message_id>.
2018-06-26 19:40:27 -02:30
Yago González
005829192e
api: Implement PATCH /streams/<stream_id>.
2018-06-26 19:38:44 -02:30
Yago González
36566c26c1
api: Implement GET /messages.
2018-06-21 15:51:53 -02:30
Eeshan Garg
c636a5ac49
pypi: Release 0.5.0.
2018-06-07 12:05:18 -02:30
neiljp (Neil Pilgrim)
97b2a12d21
matrix bridge: Adjust to python2-compatible type annotations.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
2703d4c720
matrix bridge: Update & improve README.md.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
43e80b42da
matrix bridge: Add write-sample-config option & remove sample config.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
78c64d069b
matrix bridge: Add description of script & some useful tips.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
70ba4c9035
matrix bridge: Improve error handling by exception translation.
...
Also:
* introduces two internal Bridge_*Exception classes.
* import matrix_client.errors instead of matrix_client.api.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
a6e39509d9
matrix bridge: Improve join/leave option.
...
Original '--no-noise' option had a parameter and did not disable;
new parameter is '--enable-join-leave', and sets same option for
compatibility.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
d45b43a9b1
matrix bridge: Configure using config(parser) file instead of python module.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim)
363720e908
matrix bridge: Add main() function to enable installation.
2018-06-02 09:26:40 -07:00
Tim Abbott
9e6b4edee6
integrations: Remove slack import script.
...
This was migrated to the Zulip server project some time ago.
2018-05-30 16:10:22 -07:00
novokrest
7a95c31162
mercurial: Rename hook file to zulip_changegroup.py.
...
Rename hook file from 'zulip-changegroup.py'
to 'zulip_changegroup.py' for importing as module.
2018-05-29 11:45:56 -07:00
novokrest
9b9070808f
mercurial: Update changegroup hook according to new mercurial API.
...
Fixes #322
2018-05-29 11:45:56 -07:00
Tim Abbott
6ca216024f
matrix: Fix typo in requirements.txt.
2018-05-29 11:05:01 -07:00
Tim Abbott
efcdc712bf
matrix: Edit matrix.org README further.
...
The README is still pretty rough, but this cleans it up a bit.
2018-05-22 14:01:24 -07:00
Rhea Parekh
4c9134815c
Matrix: Make minor changes to README.md and config.
2018-05-22 14:01:24 -07:00
Rhea Parekh
afb964b65a
Matrix: Add command line flag to ignore join/leave events.
...
Add command line flag 'no_noise' (which is true by default)
to ignore join/leave events. User can enable those events
by pass 'no_noise' as false.
2018-05-22 14:01:24 -07:00
Rhea Parekh
8e1274f555
Matrix: Change naming convention.
2018-05-22 14:01:24 -07:00
Eeshan Garg
00f22e175c
pypi: Release 0.4.7.
2018-05-21 20:02:43 -02:30
Rhea Parekh
bb39ce981d
Matrix: Refactor function 'matrix_to_zulip'
2018-05-16 11:12:00 -07:00
Rhea Parekh
c467b5fd03
Matrix: Handle login and joining room errors.
2018-05-16 11:12:00 -07:00
Rhea Parekh
9362755039
Matrix: Add more messages events and handle errors.
2018-05-16 11:12:00 -07:00
Rhea Parekh
979c0e50d6
Matrix: Update documentation and add requirements.txt.
2018-05-16 11:12:00 -07:00
Yago González
e9a518e93e
api: Warn when SSL/TLS validation is disabled.
2018-05-15 08:17:35 -07:00
Yago González
d85792524e
api: Allow disabling TLS verification via env vars.
2018-05-15 08:17:35 -07:00
Yago González
285464a367
api: Set required fields in the examples.
...
Now all the API examples have their corresponding arguments set as
required when they have to be present for the example to run.
2018-05-15 07:40:48 -07:00
Yago González
cb171409c5
api: Fix edit-message example.
...
The message ID necessarily has to be an integer, and if no casting is
made it was being considered a string, causing problems when running
the example.
2018-05-15 07:40:48 -07:00
Yago González
292a3bc067
api: Add execution permissions to welcome-message.
2018-05-14 11:04:57 -07:00
Yago González
817636cbc6
api: Implement /users/me/<stream_id>/topics.
2018-05-14 11:04:57 -07:00
Joshua Pan
33e8352998
requirements: Add 'security' extra_require for requests.
...
There were some issues running bots due to SSL issues.
Adding the extra_require requests[security] adds 3
additional packages that deal with these issues.
2018-05-14 04:28:53 -07:00
rht
e56a94c853
Dig a tunnel to matrix.
2018-05-07 09:07:36 -07:00
neiljp (Neil Pilgrim)
55d75b11bc
packaging: Add py.typed marker file & install in setup.py.
...
This follows the provisional new PEP 561:
https://www.python.org/dev/peps/pep-0561/ .
2018-05-02 12:13:26 -07:00
Eeshan Garg
f4bdb059db
pypi: Release version 0.4.6.
...
This includes a critical bug fix for call_on_each_event.
2018-04-27 01:43:42 -02:30
Tim Abbott
d40328a311
api: Fix call_on_each_events handling of empty event_types.
...
The root issue here is that we had been using `None` as a way of
encoding `event_types` as being an argument to not pass to the server
in the API codebase, but the marshalling to send this over the wire
didn't handle that possibility correctly.
This was incorrectly "fixed" in
409bb587429ec4dcb1220a8ed85ec1618ffde0ed; the root cause of the issue
was the refactor to the new approach for registering API endpoints.
2018-04-25 23:01:37 -07:00
Eeshan Garg
0f448579ab
pypi: Release 0.4.5.
...
We just made a minor change to our Git integration, so that warranted
a new release so I could update the docs on the zulip/zulip repo.
2018-04-23 18:50:56 -02:30
Eeshan Garg
5f20512601
integrations/git: Allow users to specify a stream for notifications.
...
Previously, all notifications went to "commits", now users can
modify the constant at the top to change that.
2018-04-23 18:38:16 -02:30
Eeshan Garg
2d46445ab5
pypi: Release version 0.4.4.
...
This includes some important changes after the release of pip 10.
2018-04-16 17:05:27 -02:30
neiljp (Neil Pilgrim)
55aff6f64b
mypy: Improve typing of bots & API; enforce no_implicit_optional.
2018-04-06 13:45:11 -04:00
Eeshan Garg
60e02ed979
pypi: Release version 0.4.3.
...
Making this release due to recent changes made to the Trello script.
2018-04-03 22:05:39 -02:30
Eeshan Garg
fa759fc97c
integrations/trello: Improve the Trello script.
...
This commit makes a bunch of improvements:
1. Use format() for string formatting instead of the old style.
2. Stop returning stuff where we don't have to.
3. URL generation should not be done by the script, especially
since our eventual goal is for the Zulip server to automatically
generate a webhook URL. So the user should be able to supply
the URL in the config file. Plus, this makes it easier to test
the script with non-Zulip URLs (such as RequestBin).
4. Removed unnecessary arguments.
2018-04-03 21:52:10 -02:30
neiljp (Neil Pilgrim)
0f29e9f71b
mypy: Improve type annotations in Zulip API.
...
- Reduce use of Any, eg. in Callable parameters & narrow List;
- Use Optional where appropriate in more locations.
2018-03-31 15:45:54 -07:00
neiljp (Neil Pilgrim)
83b41a2e9e
zulip: Amend default value of remove_subscriptions:principals to None.
...
Having a default parameter as '[]' may not be an issue with the current
implementation, but general practice is to default to None and assign
a default list subsequently.
2018-03-31 15:45:25 -07:00
Eeshan Garg
7e360c244c
pypa: Release version 0.4.2.
2018-03-31 17:19:23 -02:30
amanagr
aa5df127ae
API: Use session.headers.update
method to add user-agent header.
...
Directly assigning session.headers overrides the default header
paramers and removes `{'Accept-Encoding': 'gzip, deflate'}` from
the headers.
2018-03-30 13:10:04 -07:00
JazZ
2f4b276799
Add Trello integration script
...
This is a small Python script to create Trello Webhooks for Zulip.
It builds and sends the Trello API requests required to create the
Trello webhook.
2018-03-29 15:24:14 -04:00
Shivam Gera
fc1d134685
api: Use custom exceptions in API client.
...
This removes the use of RuntimeError, and replaces it with a custom
error class called ZulipError. In a few places, we use a subclass to
make it easier for code to interact with the error type.
2018-02-16 11:33:18 -08:00
Eeshan Garg
f74c94ba04
pypi_packaging: Release version 0.4.1.
2018-02-07 01:03:49 -03:30
XavierCooney
68ec3a5ef0
zephyr_mirror_backend.py: Remove duplicate import.
2018-01-16 08:07:09 -05:00
Eeshan Garg
67cdb6f8f0
zulip: Make a DELETE request in remove_subscriptions.
...
Previously, remove_subscriptions called the
PATCH /api/v1/users/me/subscriptions endpoint, which is more like
an ad-hoc endpoint for bulk adding/removing subscriptions for the
user that makes the request. However, making a DELETE request
allows an admin to pass in the `principals` argument to unsubscribe
other users from streams as well, which is more consistent with how
add_subscriptions works.
2018-01-12 07:29:06 -05:00
Eeshan Garg
4458276801
requirements: Remove runtime dependency on mock.
...
The zulip and zulip_botserver packages specify mock as a runtime
dependency, which is only needed for testing during development.
So, it made more sense to move it to requirements.txt so that
it can be installed by ./tools/provision during development.
2018-01-09 17:01:16 -03:30
neiljp (Neil Pilgrim)
d3220eefe7
Jabber: Report where Zulip config not found, clarifying typing.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
b5c3442b57
mypy: Remove explicit typing & add assertions in jabber backend.
...
Usage indicates set_jabber_client must be called before using
JabberToZulipBot, so assertions express intent & satisfy mypy.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
afee6d706f
mypy: Assert Zulip.[api_key|email] are not None, satisfying use in Zephyr.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
aa718da3e1
Zephyr: For correctness & mypy, res.get('result') -> res['result'].
...
Also correct nearby error message (subscribing to -> receiving).
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
02d9ba8edd
mypy: Add cast for zephyr_mirror_backend logger variable.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
466f5a7167
mypy: Amend zephyr mirror annotations for strict-optional.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
2b172e08c7
mypy: Correct SVN integration & satisfy strict-optional typing.
...
The commit_notice_destination return value was previously not
checked against None, which indicates no message should be sent.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
9502e0eb9a
hg integration: Use explicit sys.exit.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
55df1886cc
mypy: Amend hg integration to simplify error handling/typing.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
d26e44ebb2
mypy: Add client_cert assertion & amend annotation in Zulip API.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
13bf6f7262
mypy: Add non-None session assertion in Zulip API.
2018-01-08 15:39:03 -05:00
neiljp (Neil Pilgrim)
2a2c8ae25f
API: Amend call_on_each_event error handling to not use .get().
...
mypy with strict-optional led to examination of res.get('result')
calls potentially raising TypeError ('error' in None).
Server code indicates this is safe, and other nearby code assumes
presence of fields in 'res' also.
2018-01-08 15:39:03 -05:00
Eeshan Garg
3030c73060
packages: Release 0.4.0.
2018-01-06 18:28:35 -03:30
Robert Hönig
06c5904347
Add 'mock' requirement for zulip and zulip_botserver.
...
These packages depend on mock. Previously, that dependency
was satisfied "by chance" because zulip_bots happened to
install 'mock'.
2018-01-06 16:39:52 +01:00
neiljp (Neil Pilgrim)
8b4e877546
mypy: Amend upload-file example, to pass with strict-optional.
2018-01-02 14:05:33 -05:00
neiljp (Neil Pilgrim)
9df922e7fa
mypy: Adjust zulip api slightly, to pass with strict-optional.
2018-01-02 14:05:33 -05:00
neiljp (Neil Pilgrim)
fc460dc12b
mypy: Rewrite trac integration for clarity & to pass strict-optional.
2018-01-02 14:05:33 -05:00
neiljp (Neil Pilgrim)
33ccc04a32
mypy: Amend code & typing of integrations, to pass with strict-optional.
2018-01-02 14:05:33 -05:00
Rhea Parekh
27842b2d24
slack importer: Add README.md.
2017-12-27 07:54:42 -05:00
Rhea Parekh
0bb50fdc4e
slack importer: Shift the slack data conversion files to zulip server repo.
2017-12-27 07:54:42 -05:00
neiljp (Neil Pilgrim)
bcca5230a3
mypy: Remove un-needed 'type: ignore' for session.auth.
2017-12-21 18:43:42 -05:00
fredfishgames
b865978546
Create welcome-message
api example.
2017-12-19 14:42:55 -05:00
neiljp (Neil Pilgrim)
28687f18ca
mypy: Add --disallow-any=generics & extend typing accordingly.
...
Also reset typing of ExternalBotHandler to Any after discussion.
2017-12-11 20:14:00 -06:00
Rhea Parekh
e5726fdc96
slack: fix type annonations.
2017-12-03 10:30:02 -08:00
Rhea Parekh
1f17c04115
slack: remove the messages and attachments mapping.
2017-12-03 10:30:02 -08:00
Rhea Parekh
455acb8e3b
slack: Make minor fixes in zerver_userprofile and zerver_realm mappings.
2017-12-03 10:30:02 -08:00
Rhea Parekh
8def7564dd
slack: Map recipients and subscriptions for private messages.
2017-12-03 10:30:02 -08:00
rht
cb1cafe194
slack: Add attachment.json skeleton.
...
Map the attachments but disable attachments
them for now.
2017-12-03 10:30:02 -08:00
rht
b7ab8b4257
slack: Add avatar and uploads records.json.
2017-12-03 10:30:02 -08:00
rht
9ce064b2c1
slack: Do minor fixes.
...
Minor fixes in zerver_userprofile mapping.
Remove TODO from REALM_ID task.
2017-12-03 10:30:02 -08:00
Rhea Parekh
7198aab1a9
slack: Fix zerver_message, zerver_defaultstream
...
and refactor zerver_usermessage implementation.
2017-12-03 10:30:02 -08:00
rht
6366448903
slack: Add minor changes.
...
Rename the function channelmessage2zerver_message to channelmessage2zerver_message_for_one_stream.
Compress the converted data with tar instead of zip.
Add changes in zerver_userprofile mapping and zerver_realm mappings.
Do the manage.py import from a directory instead.
2017-12-03 10:30:02 -08:00
Rhea Parekh
716570ceaa
slack: Add zerver_usermessage object and map flags_mask
2017-12-03 10:30:02 -08:00
rht
b3a7a4f937
Slack: Add zerver_defaultstream feature.
...
Thanks to @rheaparekh for pointing out the doc for sanity check ;)
2017-12-03 10:30:02 -08:00
rht
46fd234824
slack: Clarify var naming of sanitize text function.
2017-12-03 10:30:02 -08:00
Rhea Parekh
ce51d99c6a
slack: Sanitize the message text and fix Travis test.
2017-12-03 10:30:02 -08:00
rht
7db4e36752
slack: Add minor changes.
...
Set default value to be False for message's has_image
Update type signature to functions.
Set default to be false for msg's has_link.
2017-12-03 10:30:02 -08:00
Rhea Parekh
a02f0f98c1
slack: Map recipient and fix subscription mapping.
2017-12-03 10:30:02 -08:00
rht
704b742f82
slack: Handle avatar from slack if it is stored in gravatar.
...
Thank you @**Rhea** for the research.
2017-12-03 10:30:02 -08:00
rht
cd3db24bca
Add slack data importer.
...
This importer is more comprehensive than the existing one.
slack import: Reduce TODO count.
2017-12-03 10:30:02 -08:00
Eeshan Garg
c3ab265d3e
packaging: Upgrade to release 0.3.9.
2017-11-29 01:23:12 -03:30
Robert Hönig
d6a4c02ba5
Rename bot storage endpoint from state to storage.
2017-11-28 20:41:59 +01:00
Eeshan Garg
50b5ec0f49
packages: Release 0.3.8 for all PyPI packages.
2017-11-27 23:34:38 -03:30
Steve Howell
043d963a99
Fail fast for bad connections with the API and bots.
...
The API has aggressive retry logic for connecting to a
server, which may make sense for situation where you have
connection blips or server restarts.
When you're first connecting to the API, however, connection
failures are almost certainly a sign of misconfiguration, so
now we fail fast.
The bot lib takes advantage of this API change by catching the
ZulipError exception and exiting gracefully.
2017-11-21 14:21:04 -08:00
derAnfaenger
f41030b515
API: rename get_state & update_state to get_storage & update_storage.
2017-11-18 08:58:47 -08:00
derAnfaenger
66da09324e
zulip package: Add API functions to access state.
2017-11-18 08:58:47 -08:00