diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2017-04-09 09:02:09 +0200 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2017-04-09 09:02:09 +0200 |
commit | b36f9c05071ea549ed59e703270fcf223b60df03 (patch) | |
tree | 8992c6bcaa5b0d64cbd589588b2539523125548c /fbin/monkey.py | |
parent | af750a6598d53b8a5cb58092dd5b523ea7e967ca (diff) |
Major rewrite to use jab/oauth.
Highlights:
- Uses the oauth branch of jab.
- Changed design to use bootstrap.
- Some minor changes to functionality in file uploading and listing.
- API is currently disabled and incomplete.
Diffstat (limited to 'fbin/monkey.py')
-rw-r--r-- | fbin/monkey.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/fbin/monkey.py b/fbin/monkey.py new file mode 100644 index 0000000..c6458ad --- /dev/null +++ b/fbin/monkey.py @@ -0,0 +1,25 @@ +import tempfile + +from flask import current_app +import werkzeug.formparser +import werkzeug.wrappers + +def werkzeug_patch(): + global werkzeug_orig_stream_factory + + werkzeug_orig_stream_factory = werkzeug.formparser.default_stream_factory + + def custom_stream_factory(total_content_length, filename, content_type, content_length=None): + if total_content_length > 1024 * 500: + return tempfile.NamedTemporaryFile('wb+', prefix = 'upload_', dir = current_app.config['FILE_DIRECTORY'], delete = True) + return werkzeug_orig_stream_factory(total_content_length, filename, content_type, content_length) + + werkzeug.formparser.default_stream_factory = custom_stream_factory + werkzeug.wrappers.default_stream_factory = custom_stream_factory + +def werkzeug_reset(): + werkzeug.formparser.default_stream_factory = werkzeug_orig_stream_factory + werkzeug.wrappers.default_stream_factory = werkzeug_orig_stream_factory + +def patch(): + werkzeug_patch() |