Commit graph

65 commits

Author SHA1 Message Date
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