* Added ASCII media processing
* Added ASCII media display
* Added ASCII media type
Rebased from Joar Wandborg's ascii art branch (squashed to remove the
commits borrowing code of dubious license)
Fixed a bug in file submission error handling:
- Moved file-extension condition out of loop (what did it do there?)
- Updated file submission tests
- Changed error handling in file submission, should now report more
than absolutely necessary.
- Added handling of InvalidFileType to submit.views
- Updated test_celery_setup and test_submission tests to reflect the changes to the
media procesing infrastructure
- Removed debug output from init/celery
- Moved process_media/__init__ to processing.py
- Centralized the processing.ProcessMedia task class
- Updated media managers to reference the processing function
instead of the ProcessMedia instance
- Updated new-style image processing to previous, newer old-style
image processing
- Updated video transcoding
- Changed method in progress output, sometimes
message.structure['percent'] raises KeyError
Note: Migrations can't use "Dot Notation"!
Migrations run on pymongo, not mongokit.
So they can't use the "Dot Notation".
This isn't really a big issue, as migrations are anyway
quite mongo specific.
* Removed trailing whitespace
* Line length < 80 where possible
* Honor conventions on number of blank lines
* Honor conventions about spaces around :, =
* DONE Initially testing with arista
** DONE Video display templates
*** TODO Multi-browser support
** TODO Video thumbnails
** TODO Link to original video
** TODO Video cropping
Also contains a lot of "debug" print's
Handled in several places:
- In the run() of the ProcessMedia itself for
handled (BaseProcessingFail derived) errors (best to do these not
in on_failure because the errors are highlighted in celeryd in a
way that looks inappropriate for when the errors are well handled)
- In ProcessMedia.on_failure() for all other errors
- In the submit view where all exceptions are caught, media is marked
at having failed, then the error is re-raised. (The reason for
this is that users running in "lazy" mode will get errors
propagated by celery and so on_failure won't run for them.)
BaseProcessingFail based exceptions recorded and marked appropriately
in the database. Other exceptions also caught and marked (or rather
not marked) appropriately in the database as well.
- adds a function to convert the tag list of dicts to a text string
properly delimited for loading into forms
- tag string conversion function updated to generate list of dicts
- updates all mentions of the conversion of the string to the tags db
object
- adds a tags template utility and updates the media template accordingly
- the function that converts the user's tag string into a list of
tags now accepts a string, but the media submit view was still
submitting the request object, like we were going to add any
errors to the session. Now the submit view passes the tag string
- seems simpler to use the same tag field processing procedures on media
submit and edit, so now processing with a regular function instead of
a form filter. Filters run on form load and post by default.
- moved tags to sidebar
- taglist defaults to [] instead of None
- adds case sensitivity toggle
page w/ a message
* Successful submission redirects to the logged in user's page
(your own, presumably).
* "Woohoo! Submitted!" is launched into the tube of session messages
to appear on next pageload. If you're not aborting in the window
of 210ms it takes for the client to respond to the 302 and load
the logged in user's/your page that is, YMMV.