encadre

Encadre, petit framework web Python (Flask) : contrôleurs en greffons, validation, tests
git clone https://git.schurger.org/encadre.git
Log | Files | Refs

commit 42910f647aaf4a58b6368a088e945899bedfc81e
parent 8e1b70e97eddfa0381158f3f0b1ac35e2fc32d13
Author: Jean Schurger <jean@schurger.org>
Date:   Sat, 17 May 2025 13:49:19 -0400

Allow file uploads.

Diffstat:
M.gitignore | 3+++
Mencadre/framework.py | 12+++++++++++-
Mencadre_flask/__init__.py | 3+++
Msetup.py | 2+-
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',