46 Commits

Author SHA1 Message Date
Albert Santoni
5e7fdb9606 Don't retry Analyzer HTTP requests if the web app is broken 2014-06-04 13:46:25 -04:00
Albert Santoni
a969f8fc44 CC-5856: Analyzer metadata exception
* 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
2014-06-03 12:43:01 -04:00
Albert Santoni
4548123ad9 CC-5861: Long file paths will cause analyzer error
* Fixed it
2014-06-03 11:41:45 -04:00
Albert Santoni
1373d4984f CC-5862: Invalid UTF-8 chars cause DB error
* Strip and validate UTF-8 strings in the Media API
* Also properly parse track numbers containing "-"
2014-05-30 13:02:19 -04:00
Albert Santoni
d21cb596cd CC-5860: Analyzer HTTP requests can hang indefinitely
* Log a backtrace when sent the USR2 signal (kill -SIGUSR2 <pid>)
* Rigged up up something to strace and restart when we see a request hanging
2014-05-26 18:59:28 -04:00
drigato
0040965222 CC-5840: Add Media -> Endless retries if there is a validation error
Fixed by not adding message to retry queue if request returns a
validation specific error code (422)
2014-05-08 13:01:49 -04:00
drigato
c291439483 Adding back analyzer deadlock workaround.
Removing command to delete empty sub folders inside organize.
2014-05-07 15:01:31 -04:00
drigato
81dd1deba3 Removing something for testing 2014-05-07 13:12:18 -04:00
Albert Santoni
56c3d8070b Alternate bugfix for logging deadlock in airtime_analyzer 2014-05-06 15:01:25 -04:00
Albert Santoni
ed494ac587 Some defensive code against multiprocess related deadlocks
* Reinitialize logging in child processes so we don't inherit locks.
  Might be causing a deadlock we're seeing on Pro right now.
2014-05-05 18:25:47 -04:00
Albert Santoni
d063700254 CC-5834: Airtime Analyzer: Bitrate is missing
* Fixed
2014-05-05 14:56:32 -04:00
Albert Santoni
22343ed99c Fixed bitrate import in airtime_analyzer 2014-05-05 14:39:36 -04:00
Albert Santoni
abcdf5ea6a CC-5824: Airtime Analyzer: Flac file was uploaded but AA says it's
failed

* Fixed
2014-04-30 18:42:13 -04:00
Albert Santoni
26a39ed2db CC-5823: Airtime Analyzer: Wav file uploading fails with zero length and
empty mime

* Fixed
2014-04-30 18:32:17 -04:00
Albert Santoni
375ec54778 CC-5820: Airtime Analyzer: Length and MIME parsing skipped if file has
no audio metadata tags.
2014-04-28 11:54:59 -04:00
Albert Santoni
e503c952d2 CC-5816: Publisher column
* Kanye West support. Surely
2014-04-24 17:05:38 -04:00
Albert Santoni
bc72a6626e CC-5709: Airtime Analyzer
* Fixed some unit tests that broken when I dropped python-magic in
  favour of mutagen for MIME type detection
2014-04-23 18:20:50 -04:00
Albert Santoni
9fdfc0a957 CC-5709: Airtime Analyzer
* Catch exceptions related to unpickling the HTTP request queue
2014-04-23 17:42:09 -04:00
Albert Santoni
f2ce77fecb Remove python-magic 2014-04-23 14:20:48 -04:00
Albert Santoni
d77f107df5 CC-5808: Fixed breakage at shutdown 2014-04-22 15:03:46 -04:00
Albert Santoni
6a86a75cee CC-5709: Airtime Analyzer
* Fixed CC-5799: Incorrect Mime on import
2014-04-21 17:50:10 -04:00
Albert Santoni
cdce4ca104 CC-5709: Airtime Analyzer
* Fixed the unit tests
* Improved length testing because it seems to fluctuate a bit with
  your mutagen version (great, eh?)
2014-04-16 16:42:37 -04:00
Albert Santoni
b0670f5f47 CC-5709: Airtime Analyzer
* Log tracebacks from child process
2014-04-16 13:05:02 -04:00
Albert Santoni
f491211167 CC-5709: Airtime Analyzer
* Retry HTTP requests (kinda crappy, should find a better design pattern to
  solve this) - CC-5775
* Persist failed HTTP requests at shutdown
2014-04-16 11:10:06 -04:00
Albert Santoni
e4af3a5a0e CC-5709: Airtime Analyzer
* Better SIGTERM handling for airtime_analyzer
* Nuke the .identifier files saved by Airtime
2014-04-08 17:28:50 -04:00
Albert Santoni
84ee3d26cb CC-5709: Airtime Analyzer
* Fixed metadata import, whoops
2014-04-08 14:16:07 -04:00
Albert Santoni
cf492045cc CC-5709: Airtime Analyzer
* A bunch of cleanup and fix for metadata extraction on files mutagen can't read
2014-04-04 12:35:50 -04:00
Albert Santoni
95b369c54d CC-5709: Airtime Analyzer
* Remove awful StoredFile::uploadFile() function
* Massive airtime_analyzer commenting and cleanup
* Cleaned up the upload code
* Temporarily disabled the liquidsoap playability test.
2014-04-03 16:13:26 -04:00
Albert Santoni
86b94b970f CC-5709: Airtime Analyzer
* Fix for incorrect length sometimes happening (VBR MP3?)
2014-04-03 11:34:57 -04:00
Albert Santoni
2a172afe3e CC-5709: Even more slightly better exception handling 2014-04-02 16:51:38 -04:00
Albert Santoni
f6369c02ee CC-5709: Airtime Analyzer
* Catch bad callback_url
2014-04-02 16:47:24 -04:00
Albert Santoni
12c16bc120 CC-5709: Airtime Analyzer
* Make the airtime_analyzer config path a runtime param
2014-04-01 12:28:40 -04:00
Albert Santoni
58a38ffd3a CC-5709: Airtime Analyzer
* Added unit test coverage report stuff
* Added more unit tests
* 98% test coverage :-)
* Fixed a few bugs and removed some dead code
2014-03-26 15:06:48 -04:00
Albert Santoni
f8c221a610 CC-5709: Airtime Analyzer
* Fixed and updated the unit tests
2014-03-25 14:34:50 -04:00
Albert Santoni
6952902b22 CC-5709: Airtime Analyzer
* Unbreak stuff
2014-03-24 16:05:53 -04:00
Albert Santoni
eb37b39406 CC-5709: Airtime Analyzer
* Added missing FileMoverAnalyzer file that I forgot to commit
2014-03-24 13:03:20 -04:00
Albert Santoni
61c2c90b7e CC-5709: Airtime Analyzer
* 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
2014-03-22 02:12:03 -04:00
Albert Santoni
878dd11ccc CC-5709: Airtime Analyzer
* 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.
2014-03-21 13:22:00 -04:00
Albert Santoni
16c56e6aff CC-5709: Airtime Analyzer
* Fixed error in media API authentication
* Improved documentation
2014-03-17 14:43:50 -04:00
Albert Santoni
50a42f12bb CC-5709: Airtime Analyzer
* 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
2014-03-17 10:19:39 -04:00
Albert Santoni
259edebadc CC-5709: Airtime Analyzer
* Fixed import of length, MIME type, and bitrate into Airtime
2014-03-13 16:52:11 -04:00
Albert Santoni
451b19150b CC-5709: Airtime Analyzer
* Notify airtime_analyzer of new uploads with RabbitMQ
* Use a durable exchange for airtime-uploads
2014-03-13 13:35:48 -04:00
Albert Santoni
6d7117f670 CC-5709: Airtime Analyzer
* 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
2014-03-10 16:32:23 -04:00
Albert Santoni
4e39fce701 CC-5709: Airtime Analyzer
* 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
2014-03-06 16:55:20 -05:00
Albert Santoni
59535850e2 CC-5709: Airtime Analyzer Queue
* 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.
2014-03-05 22:43:47 -05:00
Albert Santoni
a6a64a2b9e CC-5709 / CC-5705 : Airtime Analyzer
* 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...
2014-03-05 12:15:25 -05:00