Commit Graph

472 Commits

Author SHA1 Message Date
Tim Abbott 71ad82b6aa 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
Waseem Daher 419a3d3098 Shorter topics for git/svn integration.
(imported from commit 6c9822f6ba383d885e48d3bb64c30e49ea8cf1e5)
2013-12-11 12:20:42 -05:00
Tim Abbott 6721c465c9 Add admin API endpoint for creating users.
(imported from commit a8b919c7d21b28dfd75b6b95736a375874ead15f)
2013-12-10 13:21:33 -05:00
Luke Faraone dc6ae6dc15 Specify client in User-agent in our Jira integration.
(imported from commit e436478c6fd2836c06faa90ddb1ca5641d3f61e4)
2013-12-09 11:47:54 -05:00
Luke Faraone 1b5c1ac021 Update style of client strings.
(imported from commit 1516461cf53b2715de68e01f16bb8a8cc33c48ad)
2013-12-09 11:47:52 -05:00
Luke Faraone 663d7483f2 Add a version number to our Perforce integration.
(imported from commit 402f7a1e57aa1c77255cdc5c58a081a8b209a65d)
2013-12-09 11:47:20 -05:00
Luke Faraone a49c48a53b 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 bb3c6ce173 api: Specify a default client of ZulipPython/version
(imported from commit 366d0e81a67f6a993fb0e9539d51e593c7863299)
2013-12-09 11:47:20 -05:00
Luke Faraone a119a22988 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
Luke Faraone 479e3bfbd0 Perforce integration.
This is designed to be run as a "change-commit" trigger. See [Perforce's
documentation][1] on how to set up a trigger for your platform.

[1]: http://www.perforce.com/perforce/r12.1/manuals/cmdref/triggers.html

Closes trac #1034.

(imported from commit d94fa4e50637ade2847a96eab8c5514de3811c24)
2013-12-06 11:54:38 -05:00
Luke Faraone 08973733a7 [third] Disable git_p4's usage of git configuration
Since we're using the module outside of a git repository context we
don't have a git config to reference. Instead, we'll just use the
environment variables we're passed.

(imported from commit 8ae707d5d60eb700052e0ee89e7d36c660e00bb6)
2013-12-06 11:54:38 -05:00
Luke Faraone a0595e8c60 [third] Import git's P4 command.
From github.com/git/git@34022ba

License: Expat

(imported from commit 995439bf2fc458ef7ed73fd7ea9add77abacbc53)
2013-12-06 11:54:38 -05:00
Waseem Daher b815203b0b Add "client" string to Nagios integration.
(imported from commit 0e42d297b5be668da9b28c9970621a1f9a4229ca)
2013-12-05 18:06:13 -05:00
Waseem Daher a4111a2426 Add 'client' string to our missing integrations.
Not done: Jira, Nagios

(imported from commit 3e2505653b377f8c307745e507bdc40e980dca05)
2013-12-05 17:51:21 -05:00
Tim Abbott 5d454afb74 api: Add support for setting site in mercurial integration.
(imported from commit 697f4697af27be6f4eddd6ddbf7affbc8739cffe)
2013-12-04 16:30:57 -05:00
Tim Abbott 44386b3615 api: Document options required for use with Zulip Enterprise.
(imported from commit 59f136cf0f1a5d9509bec054b060ab44695b77e0)
2013-12-04 16:30:51 -05:00
Tim Abbott 4e52ecce0f api: Update documentation on ZULIP_SITE option.
(imported from commit 82109dc08847240440f90524343c0f9562e4a0bf)
2013-12-04 15:14:15 -05:00
Tim Abbott 02304ca4a0 Remove api/examples/curl-examples.
It's out of date and we've never distributed it anyway.

(imported from commit 884e302ea4f55f9b3f986694a786cc5c17128e71)
2013-12-04 15:10:54 -05:00
Waseem Daher ca85e5bc51 Link to our API page from the Github repo README.md
(imported from commit 2dfa7a3bf27a15f1f43ee2ecef5d501c17669bde)
2013-12-02 13:18:04 -05:00
Jessica McKellar 3459962e69 API release 0.2.3.
(imported from commit 80591f61785b492b2ec8897bb2a2e5eff8e089fc)
2013-11-27 13:15:21 -05:00
Luke Faraone 1202cacffd setup.cfg to run install_data on API install
Previously, users of setuptools would get our data embedded in eggs.
Eggs are horrible things, but more importantly our package data should
be free, in a well-known albeit system-dependant path that is
independent of the package.

By specifying [install_data][1] as an alias of install, we assure that
our data (examples, integrations, etc) are placed in $data/share as
$DEITY intended.

Alternative suggestions included force-adding "--old-and-unmanageable",
which would invoke the distutils-style install command, but that had the
unfortunate side effect of turning off eggs and dependency resolution
altogether.

We could also use "--single-version-externally-managed", but I think
that was designed to be used by package managers, not by us.

In any case, both of the above were fragile and might break if the user
specified additional options to setup.py.

In closing, Python module management is horrible. See [this][2],
[this][3], and [this][4] for info about the status quo, and [this][5]
for information about crack to be smoked later down the road. Don't even
get me started about [PEP 427 -- Python wheels][6].

[1]: http://docs.python.org/2/distutils/commandref.html#install-data
[2]: http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
[3]: http://stackoverflow.com/a/6522905/90777
[4]: http://python-notes.boredomandlaziness.org/en/latest/pep_ideas/core_packaging_api.html
[5]: https://python-packaging-user-guide.readthedocs.org/en/latest/future.html
[6]: http://www.python.org/dev/peps/pep-0427/

(imported from commit 6cf1bd2b8f5a60b2f02f5d11094e4a41cc5e48aa)
2013-11-26 13:26:31 -05:00
Jessica McKellar 5b01dadfd3 rss-bot: handle feeds that don't have a title.
(imported from commit 2d95ee0cd85ac25a7c0241ce1747509e2f9c6be6)
2013-11-22 11:28:19 -05:00
Tim Abbott 630cfd72f1 Deregister event queues when done in our Nagios scripts.
(imported from commit a1f73403163323e1dd9eda2f5269e94c60abdd1a)
2013-11-20 18:34:16 -05:00
Tim Abbott 968c393826 Use the new !avatar syntax in our git integration.
(imported from commit e00bc63f6fb1944ed206b3ede5431ac2b1ae1ac2)
2013-11-20 13:10:43 -05:00
Jessica McKellar 1e1a0ee0e9 Add basic Asana integration.
Due to limitations in their API, we have to poll and check for
creation and completion events.

(imported from commit be65e507fac16a7f8ad3dc57b2af9c4b98aacf39)
2013-11-19 13:30:34 -05:00
Tim Abbott be48e6ab15 Update paths to rss-bot.
(imported from commit ab6ea5e881593c8533680323bf525faacc2ddfec)
2013-11-18 08:11:06 -05:00
Tim Abbott 6971a0f4cc Fix rss-bot parsing of feeds that don't specify a post ID.
(imported from commit 67fdb8b92b39fc14c81b87b7fa8089964c07be8b)
2013-11-18 08:11:06 -05:00
Tim Abbott fce97df972 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
Tim Abbott 68dcc760c3 Clean up some unused imports.
(imported from commit 0c5d8e2a55ba1b8909ba807fee3afe863dcdc226)
2013-11-04 11:51:17 -05:00
Luke Faraone c71166f116 api: Include MANIFEST.in
This should have been included in an earlier commit.

(imported from commit 683f3dbbe8730cc588836b7b27a881a50caa284d)
2013-11-01 12:08:04 -04:00
Luke Faraone 7b6e584336 Remove accidentally left-in import of zulip in setup.py.
This is **actually** 0.2.2 :)

(imported from commit 4ae69809b550d76b7c3bdf7b1420b25b6e41f73b)
2013-10-31 16:27:59 -04:00
Luke Faraone 3be10e50ef API 0.2.2 release.
(imported from commit 891ab7549e96c30dceb70bb18add1cd533fafd36)
2013-10-31 16:23:03 -04:00
Luke Faraone e872cae552 Increment copyright year.
(imported from commit d42dfd080807a11d898a1c7b96b9f048e20bccf8)
2013-10-31 16:23:03 -04:00
Luke Faraone de42c2a86c Switch to four-spaces indentation in setup.py
(imported from commit 621e5755e8cfd7117e012f4245de0916e45060bb)
2013-10-31 16:23:03 -04:00
Luke Faraone 8f6e4c4163 Update support email address
(imported from commit 3265ea2ec037093bd883a440fe9f8c6d72642a31)
2013-10-31 16:22:51 -04:00
Rory Kirchner b33819c16e 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
Luke Faraone cb00186c6a Optionally use setuptools if it is installed.
Thanks to to github.com/roryk for the suggestion.

(imported from commit 9e4365dc56f1bc2f1a1a49be4a7b662d94bf42a9)
2013-10-31 16:22:51 -04:00
Rory Kirchner aa17018a38 Parse __version__ from __init__.py
This way we don't crash if dependencies aren't installed.

License assent:
    https://github.com/zulip/python-zulip/pull/3#issuecomment-18182458

(imported from commit f1aa37e97c60a06234c004ada48e08984a085d6f)
2013-10-31 16:22:51 -04:00
Jessica McKellar b7fa44bed3 Add a first pass at Mercurial changegroup (hg push) integration.
(imported from commit 94c91aed6282a2fffcd7753a06dc68a298b7bdc7)
2013-10-29 09:58:04 -04:00
Tim Abbott 901a5c342c Use os.path directly rather than sometimes importing it separately.
(imported from commit 48486c4ea64d02a15faeebb0f490d31e9b113d62)
2013-10-28 15:44:13 -04:00
Tim Abbott 924c5fea24 api: Add support for specifying client using zulip.init_from_options.
(imported from commit f92db44af606d67d5a1dcc9c978cee0d079d466d)
2013-10-21 14:37:36 -04:00
Jessica McKellar 387bdb01c2 twitter-search-bot: update the path to the bot in the help.
(imported from commit c1097685870029d9f6e7d0ba5a9e61912cf00885)
2013-10-16 21:26:01 -04:00
Jessica McKellar 6e6e054024 twitter-search-bot: add the version requirement for twitter-python to the help.
(imported from commit dbee40c3081e50b07a80a297691acf98f4aaf89a)
2013-10-16 21:26:01 -04:00
Jessica McKellar 8bc6e61071 twitter-search-bot: Consistently capitalize Twitter.
(imported from commit 1c8f0b526d0112c05c91b69a77081ec361da538c)
2013-10-16 21:26:01 -04:00
Leo Franchi eb23464eaa Add support for discussion comments in Codebase mirror
(imported from commit 9b37cbf4209ad607966053af9c1ef9979c2d6205)
2013-10-15 09:38:38 -04:00
Zev Benjamin 46350c5dd8 codebase: Truncate subjects to 60 characters
(imported from commit db5ba1a8af80f2060aec03b3ba1d9e0f3e75c0b3)
2013-10-08 18:54:03 -04:00
Zev Benjamin 4dbedaf1fb codebase: Fix URLs
(imported from commit 664de2e6ad78d07498c7ad8813049d1e07c5b379)
2013-10-08 18:53:42 -04:00
Tim Abbott ac01b0ed19 git integration: Linkify our commits to point to GitLab.
(imported from commit e8d3c107842680dec9bc6aa84f9548c0f879785d)
2013-10-08 17:21:57 -04:00
Tim Abbott 70c666c3c6 [manual] Rename humbug@humbughq.com to zulip@zulip.com.
This requires renaming the account in Google Apps at the time we
deploy this; we'll probably want to do this during off hours to avoid
any user-visible downtime.

This also updates some related email addresses.

(imported from commit fce7629b359a4f278bbf7815c8d177a8fa0484fe)
2013-10-08 08:57:29 -04:00
Tim Abbott b8b0eb4508 Some zulip => humbug updates in comments and print statements.
(imported from commit 9253569a1df7f96fda81ab162d710cdda03f30ca)
2013-10-08 08:57:29 -04:00