upload pyapp

This commit is contained in:
2025-09-02 16:11:05 +08:00
parent c25ede15e6
commit d70eaf383b
62 changed files with 1924 additions and 0 deletions

21
pyapp/application.py Normal file
View File

@@ -0,0 +1,21 @@
from pyapp.utils.log import Log
application_class = {}
def PyappApplication(arg=None):
if callable(arg):
cls = arg
if "default" in application_class:
Log.error("Multiple classes annotated with default @PyappApplication, require a 'name' parameter.", True)
application_class["default"] = cls
return cls
else:
name = arg
def decorator(cls):
if name is None:
raise Log.error("The 'name' parameter is required when using @PyappApplication with arguments.", True)
if name in application_class:
raise Log.error(f"Multiple classes annotated with @PyappApplication with the same name '{name}' found.", True)
application_class[name] = cls
return cls
return decorator