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 70130d628c3cf8b4ee5c63395501135342282ccf
parent 93a352a62b2a279869336c9118f9d95cc894b8f2
Author: Jean Schurger <jean@schurger.org>
Date:   Tue, 25 Feb 2025 13:17:35 +0100

Don't route controller class starting with '_', added some logging.

Diffstat:
Mencadre/controllers.py | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/encadre/controllers.py b/encadre/controllers.py @@ -23,7 +23,6 @@ class Controller(): version = int(version) else: version = framework.first_version - for name in [a for a in dir(cls) if a[0] != '_']: attr = getattr(cls, name) if isinstance(attr, types.FunctionType) and \ @@ -50,8 +49,10 @@ class Controller(): def setup_controllers(cls, f, level=0): + logger.debug("Setup controller '%s' (children: '%s')." % (cls, cls.__subclasses__())) if cls.__name__ != 'Controller': # exclude abstract - cls.setup(f, root=level < 2) + if not cls.__name__.startswith('_'): + cls.setup(f, root=level < 2) for sub in cls.__subclasses__(): setup_controllers(sub, f, level + 1) @@ -60,6 +61,7 @@ def load_controllers(f, application): for ep in pkg_resources.iter_entry_points('%s.controllers' % application): try: ep.load() + logger.debug("Loaded controller '%s'" % ep) except ModuleNotFoundError: logger.error("Error importing '%s': %s" % ( ep, traceback.format_exc()))