diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-04-03 18:52:17 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-04-03 18:52:17 +0200 |
commit | d9f61cf7d746b71c3e45e4d6a9836443002ebb86 (patch) | |
tree | d20ff0a1f3bb5a0bb6ce8f8507d9fad382300203 /mediagoblin/processing | |
parent | af0b508c75dcb136a864dd96e0020875c8397efe (diff) | |
download | mediagoblin-d9f61cf7d746b71c3e45e4d6a9836443002ebb86.tar.lz mediagoblin-d9f61cf7d746b71c3e45e4d6a9836443002ebb86.tar.xz mediagoblin-d9f61cf7d746b71c3e45e4d6a9836443002ebb86.zip |
Create ProcessingState.store_public.
The ideas is by Alon Levy.
Use it in ProcessingState.copy_original for now.
Diffstat (limited to 'mediagoblin/processing')
-rw-r--r-- | mediagoblin/processing/__init__.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index f9445e28..02462567 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -97,9 +97,17 @@ class ProcessingState(object): return queued_filename def copy_original(self, target_name, keyname=u"original"): + self.store_public(keyname, self.get_queued_filename(), target_name) + + def store_public(self, keyname, local_file, target_name=None): + if target_name is None: + target_name = os.path.basename(local_file) target_filepath = create_pub_filepath(self.entry, target_name) - mgg.public_store.copy_local_to_storage(self.get_queued_filename(), - target_filepath) + if keyname in self.entry.media_files: + _log.warn("store_public: keyname %r already used for file %r, " + "replacing with %r", keyname, + self.entry.media_files[keyname], target_filepath) + mgg.public_store.copy_local_to_storage(local_file, target_filepath) self.entry.media_files[keyname] = target_filepath def delete_queue_file(self): |