""" 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)