diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-03-22 15:45:21 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-03-29 12:01:23 +0100 |
commit | 2ef2f46e73845dcd55666cad49c5a17908bf5b46 (patch) | |
tree | 7ac26a4013d48dfe7e77dfa754a2a2036ed03c86 /mediagoblin/submit/lib.py | |
parent | 9924cd0fb6f2a9d53a083ce68d1bbf872ee57d9b (diff) | |
download | mediagoblin-2ef2f46e73845dcd55666cad49c5a17908bf5b46.tar.lz mediagoblin-2ef2f46e73845dcd55666cad49c5a17908bf5b46.tar.xz mediagoblin-2ef2f46e73845dcd55666cad49c5a17908bf5b46.zip |
Refactor file field checking.
When uploading, the file field needs some checks, it seems.
So refactor them into check_file_field and use around.
Diffstat (limited to 'mediagoblin/submit/lib.py')
-rw-r--r-- | mediagoblin/submit/lib.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 679fc543..a5483471 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -17,6 +17,7 @@ import logging import uuid from werkzeug.utils import secure_filename +from werkzeug.datastructures import FileStorage from mediagoblin.processing import mark_entry_failed from mediagoblin.processing.task import process_media @@ -25,6 +26,16 @@ from mediagoblin.processing.task import process_media _log = logging.getLogger(__name__) +def check_file_field(request, field_name): + """Check if a file field meets minimal criteria""" + retval = (field_name in request.files + and isinstance(request.files[field_name], FileStorage) + and request.files[field_name].stream) + if not retval: + _log.debug("Form did not contain proper file field %s", field_name) + return retval + + def prepare_queue_task(app, entry, filename): """ Prepare a MediaEntry for the processing queue and get a queue file |