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
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
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
Eeshan Garg
00f22e175c
pypi: Release 0.4.7.
2018-05-21 20:02:43 -02:30
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
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
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
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
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
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
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)
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
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)
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
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
neiljp (Neil Pilgrim)
c24c1d2e61
mypy: Add 'type: ignore' comment due to patching function.
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
3e55124f4e
mypy: Remove 'type: ignore's now that python/mypy#1248 is fixed.
2017-11-15 13:43:08 -08:00
Eeshan Garg
4af8bcd46e
packaging: Upgrade package version (0.3.5 -> 0.3.7).
2017-10-21 01:10:25 -02:30
derAnfaenger
0e6ea0a439
api: Add comments clarifying the request logic.
2017-10-11 22:24:12 -07:00
derAnfaenger
a7bfe692fa
api: Fix unused long-polling retry parameter.
...
This parameter was intended to control whether we give a long timeout
and related behavior, but it was accidentally not being passed into
the second layer of the library from the first.
While we're fixing it, make it actually limit the length of a timeout
to something reasonable.
2017-10-11 22:24:01 -07:00
Eeshan Garg
1e8e1f17c4
release: Upgrade package versions (0.3.4 -> 0.3.5).
2017-10-09 14:13:32 -02:30
derAnfaenger
3fb640a5d0
zulip: Use canonical way to require an arg in subscribe.
2017-09-15 13:24:32 +02:00
derAnfaenger
a06437c4ee
zulip: Use canonical way to require an arg in unsubscribe.
2017-09-15 13:24:28 +02:00
derAnfaenger
0a49638e82
mypy: Add annotations to api_examples.py
2017-09-15 13:24:24 +02:00
derAnfaenger
61de5578f2
mypy: Fix annotations in core zulip files.
2017-09-15 13:24:09 +02:00
derAnfaenger
59d65309c7
zulip: Exit with info after provisioning script.
2017-09-15 03:06:17 -07:00
derAnfaenger
091f532da6
zulip-api-examples: Check and print path to script.
2017-09-15 02:06:38 -07:00
derAnfaenger
2f044b44bd
zulip: Move examples to zulip/examples.
2017-09-14 04:46:13 -07:00
derAnfaenger
2f62507987
api: Add script to print path of examples directory.
...
Partially fixes #92 .
2017-09-14 04:46:13 -07:00
derAnfaenger
59320f6b28
zulip: Explain use cases for generate_option_group()
method.
2017-09-14 11:39:11 +02:00
derAnfaenger
631c64ca6c
zulip: Move from simplejson to json.
...
This removes the simplejson dependency.
2017-09-14 02:26:56 -07:00
derAnfaenger
c6e7ddfb03
zulip package: Make check for provision failsafe.
...
It is not guaranteed that the integration scripts in
the Zulip repository even specify a `provision` option.
Therefore, checking the value of this option would fail.
Updating this with getattr and a default value.
2017-09-12 11:08:58 +02:00
derAnfaenger
ec18cbff26
zulip package: Add provision option for scripts.
...
If enabled in a script, this option will try to install dependencies
in the requirements.txt in the script's directory.
2017-09-12 01:39:21 -07:00
Eeshan Garg
390054da62
python-zulip-api: Upgrade versions (0.3.3 -> 0.3.4).
2017-09-11 21:09:28 -02:30
Eeshan Garg
6e798f317f
python-zulip-api: Upgrade versions (0.3.2 -> 0.3.3).
...
We now have "universal" wheel distributions. Universal wheels
support both Python 2 and Python 3.
2017-09-01 23:10:12 -02:30