commit 42910f647aaf4a58b6368a088e945899bedfc81e
parent 8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13
Author: Jean Schurger <jean@schurger.org>
Date: Sat, 17 May 2025 13:49:19 -0400
Allow file uploads.
Diffstat:
4 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,3 +1,6 @@
.coverage
.DS_Store
README.html
+encadre.egg-info/
+encadre/__pycache__/
+encadre_flask/__pycache__/
diff --git a/encadre/framework.py b/encadre/framework.py
@@ -26,6 +26,7 @@ class Request():
self._environ = None
self._headers = None
self._args = None
+ self._files = None
def _get_json(self):
return self._json or self.f.request_json()
@@ -63,6 +64,15 @@ class Request():
args = property(_get_args, _set_args)
+ def _get_files(self):
+ return self._files or self.f.request_files()
+
+ # Let unit tests set files
+ def _set_files(self, files):
+ self._files = files
+
+ files = property(_get_files, _set_files)
+
def validate(vargs):
def helper(func, *args, **kwargs):
@@ -135,7 +145,7 @@ class Framework():
raise ENI
request_json = request_environ = request_headers = \
- request_args = get_cookie = set_cookie = send_bytes = not_implemented
+ request_args = request_files = get_cookie = set_cookie = send_bytes = not_implemented
def format_exception(self, e):
ret = None
diff --git a/encadre_flask/__init__.py b/encadre_flask/__init__.py
@@ -165,6 +165,9 @@ class FlaskFramework(Framework):
def request_args(self):
return request.args
+ def request_files(self):
+ return request.files
+
def get_cookie(self, key):
return request.cookies.get(key)
diff --git a/setup.py b/setup.py
@@ -6,7 +6,7 @@ encadre-test-app-dump-routes = encadre_test_app:dump_routes
"""
setup(name='encadre',
- version='0.1.5',
+ version='0.1.6',
description="Encadre framework",
author="Jean Schurger",
author_email='jean@schurger.org',