* Added session auth to the Media API (if you're logged in)
* Started reworking our Plupload interaction with the server to be less
awkward.
* Basic uploading works with the Add Media page again, but messages
aren't dispatched to airtime_analyzer yet (coming next...)
* Added MetadataAnalyzer unit tests and test data
* Improved debug logging and squashed pika logging
* Implemented file moving
* Extract the track number/total
* Fixed mapping of mutagen to Airtime fields in a few spots. The mapping
matches the DB column names now.
* Fixed the bin/airtime_analyzer binary
* Started work on PluploadController to make it work with the new File
API
* Basic HTTP reporting back to the File API works (PUT)
* Use the database table names as JSON field names.
* Fixed result returning bug in message_listener.py
* Fixed API key verification to adhere with the HTTP Basic Auth spec
* Added StatusReporter class to make HTTP requests back to Airtime
* Handle even more errors now
* Added proper logging and log rotation
* Added --debug flag for increased logging.
* Finished the skeleton of the airtime_analyzer service.
* Basic round-robin, reliable AMQP messaging works.
* Using multiprocess arch so the daemon survives analyzer crashes and
avoids failures propagating to other nodes.
* Basic metadata extractor using Mutagen is done.
* HTTP requests to the File API to are next to come...
The problem was that we weren't updating the first show's start time if deleting
a repeat show day changes it. This affected the difference between the original
show start time and the new one.
Fixed a problem where we can't store the original cc_show_day data
because none can exist at some points. If the user changes the only
repeat day, the cc_show_day rule is deleted first then recreated
When a user edits a show and changes the repeat day, we are really deleting the instances from the original
repeat day and creating new instances. Therefore, we don't need to update the show content's start/end time
in this case.
* Set a timeout for HTTP requests in api_client so that they don't
hang forever if there's a network interruption.
* Prevents pypo from completely freezing up in the network gets jacked.