Commit graph

483 commits

Author SHA1 Message Date
Tim Abbott 41c2b62da0 Fix a bunch of Zulip Voyager related comments.
(imported from commit 176e875cbc310ba00d6137930ddb718bd68f1866)
2015-08-21 10:40:54 -07:00
David Roe 3d7c94c1a8 Enterprise => Voyager.
(imported from commit 41b9a67301aeaf5fd40bbbb8f34a326ca98431fd)
2015-08-21 10:33:35 -07:00
Jonathan Dahan ddd6ee9988 Add GET /export endpoint, which dumps important tables in json.
Meant to be used in tandem with the manage.py import command.
The following sensitive data is scrubbed:

  * user api keys
  * user password hashes
  * stream email keys
  * invite-only streams
  * messages from invite-only streams
  * messages from users from other domains

(imported from commit 8e58dcdcb80ef1c7127d3ab15accf40c6187633f)
2015-08-19 15:31:08 -07:00
Zev Benjamin 8694b14016 Handle platform.system() throwing an IOError
This can happen if the calling process is handling SIGCHLD.  See
http://bugs.python.org/issue9127

We ran into this in the zephyr_mirror.

(imported from commit 80fade2274714b7c2c4b9fe38c66a1db8cc63234)
2014-05-20 17:29:29 -07:00
Jason Michalski 502f184ee7 Add missing logger
(imported from commit e27d78f04fb8cb60b0cbdf4a544a047265abf9d5)
2014-04-28 19:51:04 -04:00
Zev Benjamin 4e02777aaa api: Add an option to backoff classes for making the passage of time count as a success
The idea here is that for usages like in the zephyr mirror bot:

  backoff = RandomExponentialBackoff()
  while backoff.keep_going():
      print "Starting zephyr mirroring bot"
      try:
          subprocess.call(args)
      except:
          traceback.print_exc()
      backoff.fail()

we want it to be the case that the mirror bot running for a while counts as a
success so that the bot doesn't have a finite number of crashes over its entire
lifetime.  We only want the mirror bot to stop retrying if it fails too many
times in a row.

(imported from commit 7b10704d3ce9a5ffb3472cbb4dfa168c9c05ae7a)
2014-04-23 11:31:04 -07:00
Zev Benjamin 41a782e011 Move backoff classes to the Zulip API
(imported from commit 76c5d499874f0397c505ab3fcda631a1a46847b6)
2014-04-23 11:31:03 -07:00
Zev Benjamin de1432aedc api: Expose function for getting the default Zulip config file
(imported from commit 89d6b48f9393670429aa960ad0ff27f030166e34)
2014-03-03 17:30:58 -05:00
Zev Benjamin 2045b73ea4 api: Add get_subscribers method
(imported from commit 801021768431a04cfecf146b58f4d118e1dc7508)
2014-03-03 17:29:54 -05:00
Zev Benjamin 4db2dab645 api: Disambiguate the names of Zulip options
(imported from commit 67525764cc2f2a26081640063e2d78852f6229ca)
2014-03-03 17:29:52 -05:00
Zev Benjamin 314f03a5bb api: Let generate_option_group prepend a prefix to added options
(imported from commit 41cdd90a83914139c92cb3ea649cb5653f56d4ca)
2014-03-03 17:29:52 -05:00
Zev Benjamin 744ca9ac72 api: Clarify that the API option group is for the Zulip API
(imported from commit e471fb60c04c4cf8d5e1ceb8cbd639dc3460fc48)
2014-03-03 17:29:52 -05:00
Jessica McKellar 0b1cd703dd Update copyright to 2014.
(imported from commit 733baed61e26be0c07a7e7a605618087df6b0866)
2014-02-04 15:51:53 -05:00
Luke Faraone cc6e16b2d1 API release 0.2.4
(imported from commit 42145c829f5bd2282b72c2658f19766cf2346a2b)
2014-01-11 15:52:21 -05:00
Tim Abbott 65e6a35f63 Add support for event queues with an included narrow.
This will allow us to substantially decrease the server-side work that
we do to support our Mirroring systems (since the personal mirrors can
request only messages that user sent) and also is what we need to
support a single-stream Zulip widget that we embed in webpages.

(imported from commit 055f2e9a523920719815181f8fdb44d3384e4a34)
2013-12-12 17:36:39 -05:00
Tim Abbott 20d36e5df8 Add admin API endpoint for creating users.
(imported from commit a8b919c7d21b28dfd75b6b95736a375874ead15f)
2013-12-10 13:21:33 -05:00
Luke Faraone edf6166898 api: Let users of init_from_options specify a default client.
This way command-line scripts that use our `optparse` populator can
still specify a custom client without munging their `parser` object.

(imported from commit df8d28a46a4d4574523b106030dbfed2d9ac931e)
2013-12-09 11:47:20 -05:00
Luke Faraone de686fc83f api: Specify a default client of ZulipPython/version
(imported from commit 366d0e81a67f6a993fb0e9539d51e593c7863299)
2013-12-09 11:47:20 -05:00
Luke Faraone df29a93a61 api: Provide an informative User-agent instead of a client parameter
We previously sent our client type to the server as a GET/POST parameter
of "client=<something>", most commonly "client=API: Python".

We switch here to providing the same information as a User-agent header
sent on each request, which is more standards-compliant.

Also added is some data about the platform the user is using. If your
client string was set to "MyLittleZulip/1.0", the resultant string could
look something like this:
    MyLittleZulip/1.0 (Ubuntu; 12.04)

(imported from commit 39fd187a8f9d4b3c9b63fc623e0836e57a4099ca)
2013-12-09 11:47:20 -05:00
Tim Abbott d38929d525 api: Document options required for use with Zulip Enterprise.
(imported from commit 59f136cf0f1a5d9509bec054b060ab44695b77e0)
2013-12-04 16:30:51 -05:00
Jessica McKellar 5186787da2 API release 0.2.3.
(imported from commit 80591f61785b492b2ec8897bb2a2e5eff8e089fc)
2013-11-27 13:15:21 -05:00
Tim Abbott 9b8555ba12 Deregister event queues when done in our Nagios scripts.
(imported from commit a1f73403163323e1dd9eda2f5269e94c60abdd1a)
2013-11-20 18:34:16 -05:00
Tim Abbott 30416c860b api: Fix our handling of the --site option.
Tested that the following all do the same thing after this patch:

--site=https://ls-dev.zulip.net
--site=https://ls-dev.zulip.net/
--site=https://ls-dev.zulip.net/api
--site=https://ls-dev.zulip.net/api/

(imported from commit 785c005e4b4be3621d7d330a0173023ab2c77a4d)
2013-11-15 11:10:25 -05:00
Luke Faraone cc20b23975 API 0.2.2 release.
(imported from commit 891ab7549e96c30dceb70bb18add1cd533fafd36)
2013-10-31 16:23:03 -04:00
Luke Faraone 534f64e79c Increment copyright year.
(imported from commit d42dfd080807a11d898a1c7b96b9f048e20bccf8)
2013-10-31 16:23:03 -04:00
Rory Kirchner fb5a3dc3d8 Added a stream class for use with the logging module.
License assent:
    https://github.com/zulip/python-zulip/pull/3#issuecomment-18182458

(imported from commit 9faf9dd147032b1e56b113bc0f0d729a653e1e49)
2013-10-31 16:22:51 -04:00
Tim Abbott 6f4fd336cd api: Add support for specifying client using zulip.init_from_options.
(imported from commit f92db44af606d67d5a1dcc9c978cee0d079d466d)
2013-10-21 14:37:36 -04:00
Tim Abbott ba721d85cb Some zulip => humbug updates in comments and print statements.
(imported from commit 9253569a1df7f96fda81ab162d710cdda03f30ca)
2013-10-08 08:57:29 -04:00
Leo Franchi 303e8f8b51 Bump API tarball to 0.2.1
(imported from commit d9b0f12a7ad28e8ab3e457737d3bcf1e0b9f7152)
2013-10-02 17:41:21 -04:00
Tim Abbott 0b9ea4db05 [manual] Extend /api/v1/streams API endpoint.
Previously it only provided the list of all public streams; now it
allows one to specify any union of some of the following:
* all public streams
* all streams the user subscribed to

(the most relevant being the union of those two, which is what we want
for the "streams" page).

Or:
* all streams in realm (superuser only)

The manual task required is that when this is pushed to prod, we need
to also deploy the new sync-public-streams version to zmirror.

(imported from commit 27848b8bd136e2777f399b7d05b2fdcec35e4e21)
2013-08-22 12:29:04 -04:00
Tim Abbott 7f626d2bba zephyr_mirror: Handle syncing subs with invite-only streams.
(imported from commit ec8d0c0d13ff0a81fa4a5e1225e94e6dad997356)
2013-08-20 15:02:04 -04:00
Tim Abbott 2c71f12ffe [manual] Bump API version to 0.2.0.
When we deploy this, we'll need to of course actually build and deploy
the new API tarball.

(imported from commit 03c853e8a9424a63f1c74bb83637d5a1e50a159a)
2013-08-09 15:34:57 -04:00
Tim Abbott 084847b0d7 Rename the 'humbug' API module to 'zulip'.
(imported from commit b3a3d7c05459cbb0110cd0fbe2197d779f3a6264)
2013-08-08 10:22:31 -04:00