aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/submit/lib.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2013-03-22 15:45:21 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2013-03-29 12:01:23 +0100
commit2ef2f46e73845dcd55666cad49c5a17908bf5b46 (patch)
tree7ac26a4013d48dfe7e77dfa754a2a2036ed03c86 /mediagoblin/submit/lib.py
parent9924cd0fb6f2a9d53a083ce68d1bbf872ee57d9b (diff)
downloadmediagoblin-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.py11
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