pccs/app/pccs.py

35 lines
907 B
Python

"""
pccs — 算力中心集群系统 (Pooled Computing Cluster System)
入口: webapp(init) 模式
"""
import os, sys
from ahserver.webapp import webapp
def init():
# 注入全局默认 module_dbname — ServerEnv DictObject 每个实例不同,
# 必须通过 monkey-patching DictObject.__getattr__ 来让所有实例有默认值
from ahserver.serverenv import ServerEnv
from appPublic.dictObject import DictObject
_orig_getattr = DictObject.__getattr__
def _patched_getattr(self, key):
if key == 'get_module_dbname':
return lambda m: 'pccs'
if key == 'password_encode':
return lambda s: s
return _orig_getattr(self, key)
DictObject.__getattr__ = _patched_getattr
from appbase.init import load_appbase
from rbac.init import load_rbac
load_appbase()
load_rbac()
if __name__ == '__main__':
webapp(init)