first cut
Amara Export working

Test Plan:
mattfaus@mattfaus:~/dev/CrowdTube-Connector
$ ./tools/amara_exporter.py -i 8183HPmA2_I,0MzIJfmSa5k,3FQ58lVtbCg -d /tmp/amara_export_test
Exporting 3 youtube ids
Processing youtube_id 8183HPmA2_I
-- Got amara video metadata with num objects = 1
-- -- Iterating over %i languages /api2/partners/videos/GEbRO3sE3u6P/
-- -- -- Fetching subtitles for ar: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~ar.json
-- -- -- Fetching subtitles for ase: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~ase.json
-- -- -- Fetching subtitles for cs: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~cs.json
-- -- -- Fetching subtitles for en: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~en.json
-- -- -- Fetching subtitles for es: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~es.json
-- -- -- Fetching subtitles for es-mx: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~es-mx.json
-- -- -- Fetching subtitles for he: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~he.json
-- -- -- Fetching subtitles for is: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~is.json
-- -- -- Fetching subtitles for ja: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~ja.json
-- -- -- Fetching subtitles for kw: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~kw.json
-- -- -- Fetching subtitles for ms: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~ms.json
-- -- -- Fetching subtitles for pl: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~pl.json
-- -- -- Fetching subtitles for pt: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~pt.json
-- -- -- Fetching subtitles for ru: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~ru.json
-- -- -- Fetching subtitles for si: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~si.json
-- -- -- Fetching subtitles for sk: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~sk.json
-- -- -- Fetching subtitles for tr: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~tr.json
-- -- -- Fetching subtitles for zh-cn: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~zh-cn.json
-- -- -- Fetching subtitles for zh-tw: /tmp/amara_export_test/8183HPmA2_I~GEbRO3sE3u6P~zh-tw.json
Processing youtube_id 0MzIJfmSa5k
-- Got amara video metadata with num objects = 1
-- -- Iterating over %i languages /api2/partners/videos/hDmbZdBhLIeU/
-- -- -- Fetching subtitles for en: /tmp/amara_export_test/0MzIJfmSa5k~hDmbZdBhLIeU~en.json
-- -- -- Fetching subtitles for es: /tmp/amara_export_test/0MzIJfmSa5k~hDmbZdBhLIeU~es.json
-- -- -- Fetching subtitles for es-ar: /tmp/amara_export_test/0MzIJfmSa5k~hDmbZdBhLIeU~es-ar.json
-- -- -- Fetching subtitles for nl: /tmp/amara_export_test/0MzIJfmSa5k~hDmbZdBhLIeU~nl.json
-- -- -- Fetching subtitles for zh-cn: /tmp/amara_export_test/0MzIJfmSa5k~hDmbZdBhLIeU~zh-cn.json
Processing youtube_id 3FQ58lVtbCg
-- Got amara video metadata with num objects = 1
-- -- Iterating over %i languages /api2/partners/videos/QgyKKJhViQhy/
-- -- -- Fetching subtitles for ase: /tmp/amara_export_test/3FQ58lVtbCg~QgyKKJhViQhy~ase.json
-- -- -- Fetching subtitles for en: /tmp/amara_export_test/3FQ58lVtbCg~QgyKKJhViQhy~en.json
-- -- -- Fetching subtitles for zh-cn: /tmp/amara_export_test/3FQ58lVtbCg~QgyKKJhViQhy~zh-cn.json
Waiting for all threads to join
https://www.universalsubtitles.org/api2/partners/videos/GEbRO3sE3u6P/languages/ase/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/GEbRO3sE3u6P/languages/es-mx/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/GEbRO3sE3u6P/languages/is/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/GEbRO3sE3u6P/languages/kw/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/hDmbZdBhLIeU/languages/en/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/hDmbZdBhLIeU/languages/es/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/hDmbZdBhLIeU/languages/es-ar/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/hDmbZdBhLIeU/languages/zh-cn/subtitles/ returned status 404 -
https://www.universalsubtitles.org/api2/partners/videos/QgyKKJhViQhy/languages/ase/subtitles/ returned status 404 -
Strip whitespace from youtube_ids pulled from file
Add sleep parameter and better exception handling to amara_exporter.py

I kept getting these errors, not sure why.

ConnectionError received HTTPSConnectionPool(host='www.universalsubtitles.org', port=443): Max retries exceeded with url: /api2/partners/videos/?video_url=http://www.youtube.com/watch?v=Vq7EOmvU1eQ (Caused by <class 'socket.gaierror'>: [Errno 8] nodename nor servname provided, or not known)
Rename main.py to crowdtube.py
Utility to bulk-delete caption tracks from youtube videos
There is currently a bug where you can only delete 24 caption tracks at a time, as you can see by the output below.

Test Plan:
$ ./tools/delete_all_caption_tracks.py Jom6EtXzRMg
Processing Jom6EtXzRMg
-- Deleting track da
-- Deleting track fr
-- Deleting track de
-- Deleting track ro
-- Deleting track sv-SE
-- Deleting track fi
-- Deleting track pt-PT
-- Deleting track ru
-- Deleting track no
-- Deleting track nl
-- Deleting track af
-- Deleting track iw
-- Deleting track es-ES
-- Deleting track el
-- Deleting track sr
-- Deleting track it
-- Deleting track ca
-- Deleting track ko
-- Deleting track cs
-- Deleting track hu
-- Deleting track pt-BR
-- Deleting track pl
-- Deleting track ja
-- Deleting track ar
(khan27)
mattfaus@mattfaus:~/dev/CrowdTube-Connector
$ ./tools/delete_all_caption_tracks.py Jom6EtXzRMg
Processing Jom6EtXzRMg
-- Deleting track zh-TW
-- Deleting track tr
-- Deleting track uk
-- Deleting track vi
-- Deleting track zh-CN
Adding a resume mode
More debugging on full-sync