* Update some tests * Resolve #2122 route decorator returning tuple * Use rc sanic-routing version * Update unit tests to <:str> * Minimal working version with some signals implemented * Add more http signals * Update ASGI and change listeners to signals * Allow for dynamic ODE signals * Allow signals to be stacked * Begin tests * Prioritize match_info on keyword argument injection * WIP on tests * Compat with signals * Work through some test coverage * Passing tests * Post linting * Setup proper resets * coverage reporting * Fixes from vltr comments * clear delayed tasks * Fix bad test * rm pycache
21 lines
451 B
Python
21 lines
451 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Set, Type
|
|
|
|
|
|
class BaseScheme(ABC):
|
|
ident: str
|
|
_registry: Set[Type] = set()
|
|
|
|
def __init__(self, app) -> None:
|
|
self.app = app
|
|
|
|
@abstractmethod
|
|
def run(self, method, module_globals) -> None:
|
|
...
|
|
|
|
def __init_subclass__(cls):
|
|
BaseScheme._registry.add(cls)
|
|
|
|
def __call__(self, method, module_globals):
|
|
return self.run(method, module_globals)
|