- Sniffing now goes through the old extension-based filter before
doing it the bitsniffing way.
- Refractored get_media_type_and_manager(filename).
- Removed ogg extension from video accepted extensions, audio
will take care of that.
- Added custom audio player, still WIP,but working.
- Added test for sniffing. This only tests for the
mediagoblin.media_types.image type, as that is the only
one enabled from start.
* mediagoblin.processing THUMB_/MEDIUM_ constants are now based on the ini settings
* Removed diaper patterns from audio and video sniffing
* Changed HTML5 video preload to 'metadata'
* Added extlib/freesound/audioprocessing.py
* config_spec
* Added create_spectrogram setting
* Added media:medium and media:thumb max_{width,height} settings
* Added sniffing logic to
- audio.processing:sniff_handler
- video.processing:sniff_handler
* Changed audio.processing:sniff_handler logic
* Added audio thumbnailing functionality to audio.processing
(works only with create_spectrogram enabled)
* Refractored contexts in audio.processing
* Added audio.transcoders:AudioThumbnailer
Used for creating spectrograms and spectrogram thumbnails -
Wadsworth's Constant, we meet again :)
* audio.transcoders:AudioTranscoder
- Added mux_string kwarg
- Delete self.pipeline on self.halt()
* Changed str.format formatting in image.processing:sniff_handler
Had {1} without an {0}, changed to {0}
* Refractored VideoTranscoder to use transcode() for transcoding instead
of __init__()
* Added discover() method to video.transcoders:VideoTranscoder
* Added spectrogram display to media_displays/audio.html
* Updated test_submission to reflect changes in media plugin delegation
The test checks for a pixel value after rotation (good
idea!). But the value seems to be a bit different on some
platforms, so use a list of seen values.
Not the perfect solution, but it works.
- Improved(?) character set detection, chardet will not win
over UTF-8 unless it is >= 90% sure.
- Changed the unicode.txt to ascii-portable.txt, since there is
no unicode in the file.
- etc.
- Add default for User.email_verified
- Add default for MediaEntry.state
- Let PathTupleWithSlashes store [] as "NULL",
but not handling the reverse properly yet!
- Add _id alias field to MediaEntry and MediaComment
These changes allow all of the rest of the code to use tags
in sql as they were used on mongo. It's not efficient at
all, as changing tags usually means to remove all old tags
and adding all new.
The only problem here is: Old slugs for tags are not
removed, because they're shared across all MediaTags and
dropping orphans is not always easy.
If you want to play with the current state of sql, you need
a switch to turn it on. So here is the super secret
developer switch.
So you want to know where it is?
Here it is:
Create a file mediagoblin/db/sql_switch.py and put one line
in it: "use_sql = True" (or False to disable again). Right,
that's it. If you want to delete it, remember to delete the
*.pyc too.
Be careful not to "git add" it by accident!
The upcoming SQL database will allow having media without a
slug again. This might especially be useful for API
support, where the uploaded image (media) does not have
*any* information to generate a slug from.
This code change mostly allows the sql backend to have no
slug in its model and improves some parts to properly
handle that.
It specifically does not have any web frontend support to
edit/create MediaEntries with no slug.