* Resolves CC-5893: Metadata not updated on Airtime Pro
* Report track metadata in the schedule API, and make pypo pass that
along to Liquidsoap via annotations.
* Move HTTP response sanitization for file metadata out of the REST module and into CcFiles
* Slightly improved the terrible exception handling in pypo
* Fixed parsing of metadata when there's empty lists returned (mutagen's
API is awful)
* Return HTTP 422 if there's any exception in validating the metadata
$_FILES does not store the original file path so we were losing the folder name.
Fixed by explicitly passing the full filepath in via the ftp-upload-hook.sh script
* Remove awful StoredFile::uploadFile() function
* Massive airtime_analyzer commenting and cleanup
* Cleaned up the upload code
* Temporarily disabled the liquidsoap playability test.
* Remove the "hidden" field from the REST blacklist, the analyzer needs to set it.
* Added import_status column messages in the recent uploads table
* Auto-refresh the recent uploads table while imports are pending
* Moved the file moving stuff to its own analyzer in airtime_analyzer
* Basic error reporting to the REST API in airtime_analyzer, needs
hardeneing though
* Fixed a bug with the number of recent uploads
* Prevent airtime_analyzer from running if media_monitor is running
* Overhauled Add Media screen, now shows state of recent uploads
* Dropped old unused "state" column, added new file_import column to cc_files
* New PluploadController methods
* Save the filename as the track title for unprocessed uploads
* Hide pending files from the library until they've been processed.
* Don't overwrite files with duplicate names, we rename them instead.
* File import via the Add Media page now works!
* Reworked StoredFile::copyFileToStor() because it's still needed.
* Reworked the way file paths are reported in airtime_analyzer
and in the RESTful media API
Stripped out fields that are readonly to the RESTful API from the request data for POST and PUT.
Stripped out fields that should never be visible outside of Airtime in response data.
Set uploaded and modified timestamp on POST request.
Set modified timestamp on PUT request.
* 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...)