Commit graph

327 commits

Author SHA1 Message Date
Tim Abbott d706057ed8 zephyr_mirror: Clear all notices from the queue before selecting.
We were having problems where we were suspiciously processing notices
at a rate of 1 notice per 15s, which suggests that we the select was
timing out even though there were notices to be fetched immediately.
We fix this by clearing the queue each time our select loop ends.

(imported from commit 7e7bfbb2126d1f4170d65d1483a0b799dcab80b9)
2013-09-25 15:40:21 -04:00
Zev Benjamin 5b83144e1f Replace configuration references to trac.humbughq.com with trac.zulip.net
(imported from commit aa042a10ada3f04205fd8d3e94c2b13f12a5a1a7)
2013-09-05 15:43:08 -04:00
Tim Abbott 94c74c0f9b zephyr_mirror: Make Webathena work for golem.
(imported from commit 6f8bf1f44c521b22c9fc990711d2821e5a60761d)
2013-08-28 18:56:54 -04:00
Zev Benjamin 4a8311b77b zephyr_mirror: Tweak error text
(imported from commit 7bb9d42a261e08d3abe5d80b9ba2e88f1d0b03bf)
2013-08-28 10:41:53 -04:00
Tim Abbott 92731d0a95 zephyr_mirror: Require zcrypt when mirroring to invite-only streams.
(imported from commit 1b88a8fc9bc26f2f9b1bb3f037093f85255feb17)
2013-08-27 18:26:12 -04:00
Tim Abbott 5e5e35924c zephyr_mirror: Subscribe to mail zephyrs even if we're not using them.
This should enabled us, in the future, to enable support for mail
zephyrs without requiring users to re-auth.

(imported from commit 2665743212da567fe85742d30cca42b902e41a0d)
2013-08-27 16:21:41 -04:00
Tim Abbott 86737d3398 zephyr_mirror: Use the new reasonable --log-path option.
(imported from commit 2208e4c47cf49e3005cc3b93314b8c2a0ffc23c6)
2013-08-27 14:21:26 -04:00
Tim Abbott 0d59d15781 zephyr_mirror: Rename confusing log path variables.
(imported from commit a120f653c1b9283b91f339cccea52bd5ad89b69f)
2013-08-27 14:21:26 -04:00
Tim Abbott adc20eb3fe zephyr_mirror: Stop logging to the old resend log.
We were intending to just be directing the logger logs, not logging
every message for potentially resending.

(imported from commit 9dd53e3968880745a8c01244db5d2c2247dfe85c)
2013-08-27 14:21:26 -04:00
Tim Abbott fd96a0b694 zmirror: Add monitoring for personals mirrors.
(imported from commit acb7f2222076d2f3884a2e52c7032cb48fde1757)
2013-08-26 18:17:26 -04:00
Tim Abbott 2249b18081 zephyr_mirror: Ignore expired Kerberos tickets for personals mirror.
(imported from commit 094755feacd299255f078432465f11a609df9aef)
2013-08-26 18:17:26 -04:00
Tim Abbott 9223f6b2e8 zephyr_mirror: Allow running multiple zephyr mirroring scripts under one user.
(imported from commit ecec50ee0e51736487358ef9f5847000d35f327a)
2013-08-26 18:17:26 -04:00
Tim Abbott 43ca7b3d3b Add webathena authentication button for Zephyr users.
This shows up when you're not running a Zephyr mirroring bot and lets
you use Webathena to have us run it.  Obviously needs more docs.

Current problems include:

* supervisorctl reload ends up recreating /var/run/supervisor.sock
  with the wrong permissions, so it only works once in a row before
  you need to chmod that.

* /etc/supervisor/conf.d needs to be humbug-writeable; this is a clear
  local root vulnerability

* This uses SSH and thus is kinda slow.

(imported from commit 7029979615ffd50b10f126ce2cf9a85a5eefd7a2)
2013-08-26 18:17:25 -04:00
Tim Abbott 2ee0b3a079 zephyr_mirror: Add options to save/restore sessions.
The davidben-patched-for-roost Zephyr branch (available at
https://github.com/davidben/zephyr/tree/roost) adds Zephyr support for
these options.  We also patch python-zephyr to expose them.  These
basically let you save your Zephyr tickets and port number to a file,
so that you can later restore them (even potentially after the machine
rebooted).  Basically because Zephyr is UDP, the Zephyr server will
continue trying to deliver messages to a particular port number that
was registered for up to 20 minutes after getting an error; so we can
even have downtime and reboot and still get our packets so long as we
restore the sessions within 20 minutes.

(imported from commit 986cbb157ddfa57aa4b644cd826f8418e9876dc7)
2013-08-26 18:17:25 -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 81aebf897b zephyr_mirror: Finish outgoing zcrypt.
(imported from commit dfef23feb8e0f6a0a8ba775b6cccd391cb307adb)
2013-08-22 12:29:04 -04:00
Tim Abbott 157fdb94d4 check-mirroring: Move log file under /home/humbug/logs/.
This is for consistency with where one goes for server logs on our
normal frontends.

(imported from commit 094f4cd1ca6c64497594827e12d8100bbb9bd6ab)
2013-08-20 17:09:09 -04:00
Tim Abbott 2c39d17120 zephyr_mirror: Send outgoing messages encrypted when zcrypt would.
Our .crypt-table parsing code isn't quite correct, in that we don't
handle either the "zcrypt default" or "zcrypt by class/instance" pair
options (for sending messages in either direction) -- you have to be
zcrypting for an entire class.  I think this makes sense given that on
the Zulip end we can only enforce anything on a stream level.

(imported from commit a7901b1dc025a04a23ee71ecdd499e3f150ba614)
2013-08-20 17:09:09 -04:00
Tim Abbott a47b0e54c3 zephyr_mirror: Renew kerberos tickets when starting up class mirror.
(imported from commit 34b0a78558c6f20043efe986a16064387f36f1c0)
2013-08-20 15:27:24 -04:00
Tim Abbott ae2b181591 zephyr_mirror: Fix zephyr/zerver path conversion.
(imported from commit bb895bac50754a601a09639cba596ed65956dc9b)
2013-08-20 15:27:24 -04:00
Tim Abbott fceba5f056 [manual] puppet: Move rabbitmq cron jobs into puppet.
When we deploy this, we should remove the relevant jobs from root's
crontab on our app servers.

(imported from commit 749be952d504f5a4d243cf59f6430acc689fc821)
2013-08-20 15:27:24 -04:00
Tim Abbott 97be689411 zephyr_mirror: Auto-detect Python version for pyzephyr path.
(imported from commit e2aca3a08f8aa12b43d71acffcc0e2249feb7ca7)
2013-08-20 15:27:23 -04:00
Tim Abbott f51b5a5b0d puppet: Move zephyr_mirror crontab into /etc/cron.d.
(imported from commit e93e630704ce7e85346f54f095c642010058fc09)
2013-08-20 15:27:21 -04:00
Tim Abbott 264651c7b4 zephyr_mirror: De-zcrypt messages for which we have the key.
For now we only support the AES encryption type since the DES one is
probably not used anymore.

(imported from commit 222606db9f704917e74159e7d07a110187a236e6)
2013-08-20 15:02:07 -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 9d55822cfb zephyr_mirror: Add option to control path to streams file.
This makes it easy to test the class mirror on just a single test
stream.

(imported from commit 3decb1ced54507683f1c0634df14f73e693104ef)
2013-08-20 14:57:13 -04:00
Tim Abbott a9e8d1a2a2 Rename Humbug-based variables in check-mirroring.
(imported from commit cdfc9a1c15db7bd6de099e6403dc65bfaff337b0)
2013-08-08 10:22:32 -04:00
Tim Abbott f36c132578 Rename Humbug-based variables/paths in git plugin.
(imported from commit e153c7a1a68e82dd3fa45251644be74c62770a9d)
2013-08-08 10:22:31 -04:00
Tim Abbott 4b0992ab94 Add Zulip Nagios integration to puppet.
(imported from commit 62b53e4f8a31ec8ab21d5bb5435a320c8e4eab95)
2013-08-08 10:22:31 -04:00
Tim Abbott 0c3eba5331 Rename Humbug-based variables in Trac plugin.
(imported from commit 5d406cb6c5fe7b1fbd4da706f7ac6bb6e381cadb)
2013-08-08 10:22:31 -04:00
Tim Abbott 4611b40b12 Rename humbug_*_config.py to zulip_*_config.py.
(imported from commit a1d4dd22c59f812f0eb4875dc70c89ce96a4b90c)
2013-08-08 10:22:31 -04:00
Tim Abbott 084847b0d7 Rename the 'humbug' API module to 'zulip'.
(imported from commit b3a3d7c05459cbb0110cd0fbe2197d779f3a6264)
2013-08-08 10:22:31 -04:00
Tim Abbott cba5fbe125 Rename humbug_tools to zulip_tools.
(imported from commit 7f21fdc2c2d6ad0bdbd99eb616ffc75c347d8dcb)
2013-08-07 10:00:08 -04:00
Tim Abbott 4741258ca4 Change humbug => zulip in zephyr_mirror_backend internal variables.
(imported from commit 7cc5d78bfb5db8c9d5a44ed862da304d9e44ff0e)
2013-08-07 10:00:08 -04:00
Tim Abbott 84aa7d4230 Change Humbug => Zulip in zephyr_mirror states.
(imported from commit 67542cd2ba93ff4b03c99b59645b7d22ed937337)
2013-08-07 10:00:07 -04:00
Tim Abbott 4cd4c6897b Change Humbug => Zulip in text/comments.
(imported from commit 2f9d73431ae40e1b9e9e11bc2f4f62f566ae758a)
2013-08-07 10:00:07 -04:00
Tim Abbott e0c77efb3f Escape @ when mirroring content back to Zephyr.
(imported from commit 0ab58b5e8a30c66fb6aeaccaebbe498092de1cd5)
2013-08-01 14:01:58 -04:00
Tim Abbott 22e5a15bc4 [manual] Use api.zulip.com to access the Humbug API.
This needs to be deployed after the nginx configuration is deployed.

(imported from commit 167a3d9d27595d40883bb400ebcc44c4ad9b6a2f)
2013-07-25 17:27:46 -04:00
Tim Abbott d063efa8a0 More miscellaneous humbughq.com=>zulip.com updates.
(imported from commit 9a3dbc4268f251c2c0b20d8b6a7e1dc672f1b385)
2013-07-25 17:27:45 -04:00
Tim Abbott deaa19605a Switch Humbug users in API examples to zulip.com email addresses.
(imported from commit 83abeafee8d7d146d950c3049568acbf51bb3a12)
2013-07-25 17:19:18 -04:00
Tim Abbott 9e1c407ec3 [manual] Rename feedback bot to zulip.com domain.
Just before this is pushed to prod, we need to rename the Humbug feedback
bot in the database using:

./manage.py change_user_email feedback@humbughq.com feedback@zulip.com
/etc/init.d/memcached restart

and we also need to update and restart feedback-bot in its deployed
location.

No action is required on pushing this to staging, but in between when
this is pushed to staging and when it is pushed to prod (and that
transition performed), feedback will not work on staging.

(imported from commit 73fc36f680b978f3aebae5df1822918ae4d4e952)
2013-07-25 17:16:54 -04:00
Tim Abbott c086bd453f [manual] Rename commit bot to zulip.com domain.
When we push this to staging, we'll need to rename the bot in the
database and also pull on git.zulip.net.

(imported from commit 22b2397b197c8820f0e55daecd8f98d829e195bd)
2013-07-25 17:16:53 -04:00
Tim Abbott e869eb1c9e Rename trac bot to zulip.com domain.
(imported from commit 8b842b0cc49974e38a0ecdca78be3fad3a1032bb)
2013-07-25 17:16:53 -04:00
Tim Abbott f140c68818 zephyr_mirror: Point to documentation on maintaining Kerberos/AFS credentials.
(imported from commit 2c49a1a554c2880f611e4969c8680f36641f1c2e)
2013-07-18 16:05:25 -04:00
Tim Abbott c9fab96e5d zephyr_mirror: Use Humbug full name as zsig.
(imported from commit 8cd24c4ff6c265084764ab367b46e4cb64e8c796)
2013-07-18 13:58:16 -04:00
Jessica McKellar e64d390c99 zephyr mirror backend: Switch from Humbug to Zulip in user-visible text.
(imported from commit cc4da47373362babb2f5f57493831946b29d32cf)
2013-07-15 17:49:00 -04:00
Tim Abbott 6b67e42d1a zephyr_mirror: you no longer need to reload Humbug after subbing.
(imported from commit 23cb4e5c4b3300953e58c029150d4a980bac626e)
2013-06-28 15:57:29 -04:00
Tim Abbott 5e2979b870 [manual] Change API URLs to be based on api.humbughq.com/api.
This must be deployed after we update our running nginx configuration
to serve api.humbughq.com.

(imported from commit b5c34ebdd595f55eecd6dca6a18a37f105107bd5)
2013-06-28 15:57:27 -04:00
Scott Feeney 360d78e9a2 Remove unused imports
(imported from commit 9e3050c72a2d1137b9096c6cfa1c3945341b9a56)
2013-06-27 16:22:39 -04:00
Tim Abbott 2b7e33e5ba Convert gcal-bot to use the humbug.init_from_options options.
(imported from commit 6c0db071d65d0d035056c090f659436fba68ca2f)
2013-06-25 16:34:45 -04:00
Tim Abbott 58f4ffe088 [manual] API add_subscriptions: Change arguments to support options.
Since in the future we might want requests to add subscriptions to
include things like colors, in_home_view, etc., we're changing the
data format for the add_subscriptions API call to pass each stream as
a dictionary, giving a convenient place to put any added options.

The manual step required here is updating the API version in AFS
available for use with the zephyr_mirror.py system.

(imported from commit 364960cca582a0658f0d334668822045c001b92c)
2013-06-25 16:34:45 -04:00
Tim Abbott 29a463dbf0 [manual] API get_public_streams: Return streams in a dictionary.
This way we can return properties of the streams other than just their
names in future versions of the API without breaking old clients.

The manual step required is to deploy the updated version of
sync-public-streams on zmirror.humbughq.com when we deploy this code
to prod.

(imported from commit 42b86d8daa5729f52c9961dd912c5776a25ab0b4)
2013-06-25 16:34:44 -04:00
Luke Faraone 3d7ae8fb87 Move check_send_receive.py to the naigos plugins directory, renaming it.
For consistency, and because nobody could think of a reason to have it live
in bots/ with a symlink.

(imported from commit def372653fcdde2805729134fec9d4bc3ce294ec)
2013-05-29 15:36:47 -04:00
Zev Benjamin e6150169cd Fix API path for check_send_receive.py
(imported from commit a930475d2b65324c838b4fd40fe8ce007c52089b)
2013-05-29 15:29:52 -04:00
Zev Benjamin d5ae643a06 [manual] Remove dependence on /home/humbug/humbug git checkout on app frontends
Modified files need to be copied into the right place.  The checkout
on git.humbughq.com also needs to be updated.

(imported from commit dbe9e05a0512e1f59c7819dd8d44c2c4e9c83bcf)
2013-05-29 12:00:03 -04:00
Tim Abbott c849ae3470 zephyr_mirror: Fix incorrect check for already running mirror bots.
(imported from commit 76e758697ac19362e79d4a4995b576f10d229514)
2013-05-20 23:29:53 -04:00
Leo Franchi 4bf0ecc159 Check rabbitmq consumers for all important queues
(imported from commit 1279d33e3e1c36ee8da01859875d24b54e14e2e6)
2013-05-17 01:02:35 -04:00
Zev Benjamin 223ac22a13 Fix use of logging instead of logger
(imported from commit cd25471e842e089d5032b07bcd83c6fe44d03a2d)
2013-05-09 13:50:21 -04:00
Tim Abbott fcb6336642 zephyr_mirror: Use select to determine whether new messages are available.
(imported from commit a91f45aa9f3913f38285c050e574bf562b2af2df)
2013-05-09 10:35:49 -04:00
Tim Abbott 5a0e86c6d4 zephyr_mirror: Use json if simplejson is not available.
(imported from commit 4b5f6ff71067cd2697c864c715afbb3b9dd19302)
2013-05-09 10:35:47 -04:00
Tim Abbott 5af166e063 zephyr_mirror: Limit logging of errors when checking restart stamps.
(imported from commit 194b30d757a5f20d6d20bc8aed9154c6aece9837)
2013-05-09 10:35:47 -04:00
Tim Abbott 8f17166ec6 feedback-bot: Fix API path.
(imported from commit 405911ef8ff390b09dae84a0fc142ec721e50929)
2013-05-03 18:20:34 -04:00
Tim Abbott f0e6618b66 [manual] feedback-bot: Include sender domain in feedback messages.
feedback-bot needs to be updated and restarted after this is pushed to
prod for these changes to take effect.

(imported from commit fcabd2f4bb26c794454e096242a8073805fc786c)
2013-05-02 15:32:04 -04:00
Tim Abbott db4ff2ce56 feedback-bot: Fix indentation of StreamLogger code.
(imported from commit 8bb1d04257c12fb2787349cd2d049e52e96a23b0)
2013-05-02 15:31:11 -04:00
Leo Franchi b77cee798e Add a nagios check for a notify_tornado consumer
(imported from commit 050536bb4ac7384d5b98d5cf6cb7430b2b00dbd5)
2013-04-17 09:24:28 -04:00
Tim Abbott a07df5fb17 check_send_receive: Use different users for staging and prod.
(imported from commit 26aad66bf4b0bdd0d52693f42f6fc1ad1471f948)
2013-04-16 15:25:35 -04:00
Tim Abbott ea57a5151c check_send_receive: Improve error reporting on receive path.
(imported from commit 54eed4286c5ee4830670306be7c018f41dd4f906)
2013-04-16 15:25:06 -04:00
Leo Franchi 78b14d16ee Check for USER env var before accessing it
(imported from commit 6274eeee98026701bafc55b919fe9354536a413b)
2013-03-22 16:20:10 -04:00
Leo Franchi a1b74e9fd7 Tighten rabbitmq thresholds and page_admins
(imported from commit 373014bf75346286b55b0ea7d370b21de49ffa33)
2013-03-22 15:55:49 -04:00
Keegan McAllister 3e2c0c7a8a humbug_git_config: Send test-post-receive notices to stream "test"
(imported from commit e14606237a020218c7306bf10dda7a474336f199)
2013-03-19 12:49:51 -04:00
Keegan McAllister 43419b7bbe humbug_git_config: Fix typo
(imported from commit 37e92f9b9ab11ee3e64c5af579bd902aa251ffd1)
2013-03-19 12:49:51 -04:00
Jessica McKellar 2225cbf758 Move twitter-bot to api/demos/.
(imported from commit eb0a9466b9064f89322ab593134af0761caeea8a)
2013-03-08 15:58:45 -05:00
Tim Abbott 863e5a7d4e git: Put prod back on the list of branches to send notices about.
(imported from commit e608d7050b4e68045b03341dc41e8654e45a3af3)
2013-02-21 14:33:27 -05:00
Keegan McAllister d21be42946 [manual] tools: Move check_output into a shared file
We leave the stuff under api/ alone for now, since we need to be able to ship
it as a standalone thing.

tools/post-receive wasn't using the function anyway.

For push to master: Push this commit, update post-receive per instructions at
the top of that file, then push the rest of the branch to confirm that the hook
still works.

No manual instructions for prod.

(imported from commit 9bcbe14c08d15eda47d82f0b702bad33e217a074)
2013-02-20 16:02:30 -05:00
Keegan McAllister 396861feb1 Consistently use #!/usr/bin/env python
At Ksplice we used /usr/bin/python because we shipped dependencies as Debian /
Red Hat packages, which would be installed against the system Python.  We were
also very careful to use only Python 2.3 features so that even old system
Python would still work.

None of that is true at Humbug.  We expect users to install dependencies
themselves, so it's more likely that the Python in $PATH is correct.  On OS X
in particular, it's common to have five broken Python installs and there's no
expectation that /usr/bin/python is the right one.

The files which aren't marked executable are not interesting to run as scripts,
so we just remove the line there.  (In general it's common to have libraries
that can also be executed, to run test cases or whatever, but that's not the
case here.)

(imported from commit 437d4aee2c6e66601ad3334eefd50749cce2eca6)
2013-02-20 16:02:30 -05:00
Tim Abbott ab75605ba3 Fix post-receive hook arguments issues and document the setup.
(imported from commit 0440cbc97337b8dd9f92bbbd428a069f79df400a)
2013-02-20 11:10:45 -05:00
Leo Franchi 4155e1e918 Fix path to rabbitmqctl and clarify comment
(imported from commit 3a9a9c718db3e6221b4073b122f301fb85be6be3)
2013-02-19 15:36:57 -05:00
Leo Franchi 382c4120ef Add a nagios plugin for checking rabbitmq queue sizes
(imported from commit 32bd03bcfe4c4a4221ace17f83adb175f591c8ea)
2013-02-19 15:22:55 -05:00
Tim Abbott c80283cc76 Rewrite git hook for distribution and document it.
(imported from commit c3238bc5b5e29727cddb43bc55ab418326226acd)
2013-02-19 09:17:06 -05:00
Tim Abbott 43acb4fdde zmirror: Use backoff-retry code for the outer loop.
Realistically, if the bot crashes once, it'll probably crash the next
time too, so I'm not convinced we need this loop at all, but in the
interests of avoiding churn on an extensively tested script, I'm going
to err on the side of the minimal change here.

(imported from commit e2bbd3700395ba4d0b181a4616e816e8f1231669)
2013-02-15 17:28:59 -05:00
Tim Abbott 67ee231ff9 zmirror: Add backoff-retry code for the Zephyr=>Humbug initialization.
(imported from commit bde30d87d6dae75bbfdcd49b30a1f08b3c585ec7)
2013-02-15 17:28:59 -05:00
Tim Abbott d9077a40ff trac: Add owner to list of fields that notify by default.
(imported from commit 48084ff341e4cce6164bfbfde9105768303d185c)
2013-02-14 17:50:00 -05:00
Tim Abbott bd69166795 Make the Nagios integration configurable, available, and documented.
(imported from commit 1208fc08ed366a892763c3b29b9aeafa90b29981)
2013-02-14 17:50:00 -05:00
Tim Abbott 5bbb53e625 humbug_trac: Make notifications for comments configurable.
(imported from commit 8eeea4051194d0038b039befd9b9a0ee4099a30c)
2013-02-14 11:14:48 -05:00
Tim Abbott df67499a35 humbug_trac: Make which field changes cause notifications customizable.
(imported from commit 91b138a0eaf3c3773752ae3a4c4599bd5c095497)
2013-02-13 16:30:30 -05:00
Tim Abbott f30e28dd20 Split out Trac plugin configuration (and de-duplicate the plugin).
(imported from commit aa3cd2c5a376315a463bf564ba57d751e36431d6)
2013-02-13 16:30:30 -05:00
Waseem Daher 7658be33a0 bots: Import new copy of our Trac bot.
(imported from commit 17ce8162317f6e4f642ee4e9ee65413bbbdd9bbd)
2013-02-06 18:07:51 -05:00
Jessica McKellar cec2dfa52e zephyr mirror: remove unused imports.
(imported from commit 3ba0629f0a9009087b90fb6f795e855b569c2a67)
2013-02-06 14:22:17 -05:00
Jessica McKellar a31f443baa zephyr mirror: update subscription reporting to accomodate new results format.
(imported from commit 94a680d509f727962a07c18bc89edcb1146d8772)
2013-02-06 14:22:17 -05:00
Zev Benjamin dac71342f4 Polish Humbug Trac bot for external distribution
This change adds a copyright notice and moves our site-specific bits
to global constants at the top of the file.

(imported from commit ccc8cf10f2d0d70c7500b12c7849406268313bae)
2013-02-06 11:45:38 -05:00
Jacob Hurwitz 4448ba595a Change our default format to be more descriptive
This adds two characters to the length of our default format field, but
based on a conversation I had with kcr, I think this should probably be
okay. If it's a problem, the symptom we'll see is that certain people
will be unable to send zephyrs with this default format (so, certain
Humbug users will have their forwarding consistently fail).

We need to remember to, in a future commit (once everyone has started
using the updated version), remove the:
> or notice.format.endswith("@(@color(blue))")

(imported from commit 703ef60f524646bca8d5099c9066efabd365be43)
2013-02-05 14:27:56 -05:00
Jacob Hurwitz 630b7ae521 zephyr_mirror: Fix logging messages to multiple files under /tmp.
Also fixes the fact that certain output was not logged at all.

(imported from commit 0e63a9ef4105921ad7cbe3f7565ce7832c5db25e)
2013-02-05 14:27:55 -05:00
Jacob Hurwitz 9ebfa84385 zmirror: Allow duplicate zmirror processes to die gracefully.
Fixes #602.

I replaced the SIGKILL with a SIGINT, and then catch SIGINT with a
handler.  This handler calls cancelSubs if necessary, and can later be
edited to perform other clean-up operations, too. I thought about, in
this same commit, changing the SIGTERM in
maybe_restart_mirroring_script to a SIGINT, but after tracing out the
code paths, I realized that isn't necessary. (The SIGTERM is
necessarily performed on a process that has not subscribed to any
zephyr classes, so cancelSubs is unnecessary. If we do think that we
may want to add additional clean-up operations in the future, though,
then it might be worth investigating changing this SIGTERM.)

(imported from commit 692b295be6cb40b0e4ec2ca0bc58c58056ed9bd9)
2013-02-05 14:27:55 -05:00
Tim Abbott bd3bd8ca44 zephyr_mirror: Read list of public streams from sync-public-streams ouput.
(imported from commit c91828534bfed4047c16a98b926335f4beded005)
2013-02-05 14:27:55 -05:00
Tim Abbott de713f552c Add script to sync public streams.
(imported from commit 73fc73d585dada4a250b5861437b5a5a0e3765b9)
2013-02-05 14:27:55 -05:00
Luke Faraone d8f13837d9 Move files around in the API.
Bots are not part of what we distribute, so put them in the repo root.

We also updated some of the bots to use relative path names.

(imported from commit 0471d863450712fd0cdb651f39f32e9041df52ba)
2013-02-01 15:52:28 -05:00
Luke Faraone f2f4a2f8bd Move the API into a subdirectory for ease of imports.
Previously, if users of our code put the API folder in their pyshared
they would have to import it as "humbug.humbug". By moving Humbug's API
into a directory named "humbug" and moving the API into __init__, you
can just "import humbug".

(imported from commit 1d2654ae57f8ecbbfe76559de267ec4889708ee8)
2013-01-16 16:55:22 -05:00
Keegan McAllister 9045ecae65 gcal-bot: Handle all-day events
(imported from commit 7395f2cdd2003b24ce59a1dbdf6f6ae24b6eae6c)
2013-01-16 15:23:36 -05:00
Tim Abbott 9de88e7d14 populate_db: Remove obsolete mit_subs_list.
(imported from commit 601cde1ae95d3e262be8444ded48f1fdca489f7b)
2013-01-08 17:23:22 -05:00
Jessica McKellar 43507e6a0a Add logging for the feedback bot.
(imported from commit 4beb3ec69330baf0305ff0509900a5039145f4f4)
2013-01-08 10:53:33 -05:00