diff options
author | Jakob Kramer <jakob.kramer@gmx.de> | 2012-05-19 18:17:33 +0200 |
---|---|---|
committer | Joar Wandborg <git@wandborg.com> | 2012-05-20 18:32:56 +0200 |
commit | b781c3c9281b0356a8b7cc18065610dfccad7fcf (patch) | |
tree | 46a45a6b49ddf80a6f9ff3837cc76ac65d8bce95 /mediagoblin/media_types | |
parent | 355fd6770dce14cf45fd696cda542cb190bb42cb (diff) | |
download | mediagoblin-b781c3c9281b0356a8b7cc18065610dfccad7fcf.tar.lz mediagoblin-b781c3c9281b0356a8b7cc18065610dfccad7fcf.tar.xz mediagoblin-b781c3c9281b0356a8b7cc18065610dfccad7fcf.zip |
added support for original audio download; rename
Renamed `ogg' to `webm_audio' in core__file_keynames
Diffstat (limited to 'mediagoblin/media_types')
-rw-r--r-- | mediagoblin/media_types/audio/processing.py | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index f0b8d0f9..ef98e533 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -19,10 +19,11 @@ import tempfile import os from mediagoblin import mg_globals as mgg -from mediagoblin.processing import create_pub_filepath, BadMediaFail +from mediagoblin.processing import (create_pub_filepath, BadMediaFail, + FilenameBuilder) -from mediagoblin.media_types.audio.transcoders import AudioTranscoder, \ - AudioThumbnailer +from mediagoblin.media_types.audio.transcoders import (AudioTranscoder, + AudioThumbnailer) _log = logging.getLogger(__name__) @@ -48,29 +49,42 @@ def process_audio(entry): queued_filename = workbench.localized_file( mgg.queue_store, queued_filepath, 'source') + name_builder = FilenameBuilder(queued_filename) - ogg_filepath = create_pub_filepath( + webm_audio_filepath = create_pub_filepath( entry, '{original}.webm'.format( original=os.path.splitext( queued_filepath[-1])[0])) + if audio_config['keep_original']: + with open(queued_filename, 'rb') as queued_file: + original_filepath = create_pub_filepath( + entry, name_builder.fill('{basename}{ext}')) + + with mgg.public_store.get_file(original_filepath, 'wb') as \ + original_file: + _log.debug('Saving original...') + original_file.write(queued_file.read()) + + entry.media_files['original'] = original_filepath + transcoder = AudioTranscoder() - with tempfile.NamedTemporaryFile() as ogg_tmp: + with tempfile.NamedTemporaryFile() as webm_audio_tmp: transcoder.transcode( queued_filename, - ogg_tmp.name, + webm_audio_tmp.name, quality=audio_config['quality']) - data = transcoder.discover(ogg_tmp.name) + data = transcoder.discover(webm_audio_tmp.name) _log.debug('Saving medium...') - mgg.public_store.get_file(ogg_filepath, 'wb').write( - ogg_tmp.read()) + mgg.public_store.get_file(webm_audio_filepath, 'wb').write( + webm_audio_tmp.read()) - entry.media_files['ogg'] = ogg_filepath + entry.media_files['webm_audio'] = webm_audio_filepath # entry.media_data_init(length=int(data.audiolength)) |