approve: 修复当前迭代 2 个功能 Bug(pbls-初始迭代)
This commit is contained in:
parent
8dba2ee6c0
commit
d7a355d650
@ -99,7 +99,7 @@ def _resolve_sor():
|
||||
return obj
|
||||
except Exception:
|
||||
pass
|
||||
raise PblError(ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
raise PblError(ErrorCode.DB_UNAVAILABLE,
|
||||
"sqlor 句柄不可用:ensure_tables 需要 sor(请传入 sor= 或先挂载应用环境)")
|
||||
|
||||
|
||||
|
||||
@ -55,14 +55,14 @@ class NullEnv(object):
|
||||
|
||||
def __getattr__(self, name):
|
||||
raise PblError(
|
||||
ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
ErrorCode.DB_UNAVAILABLE,
|
||||
"%s(访问 env.%s 失败);请先 load_pbl_blueprint(env) 或 set_env(env)"
|
||||
% (self._reason, name),
|
||||
)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
raise PblError(
|
||||
ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
ErrorCode.DB_UNAVAILABLE,
|
||||
"%s(设置 env.%s 失败)" % (self._reason, name),
|
||||
)
|
||||
|
||||
@ -96,9 +96,12 @@ def reset_env():
|
||||
|
||||
def _resolve_server_env():
|
||||
"""尽力从平台侧解析 ServerEnv 单例;失败返回 None(不抛)。"""
|
||||
# 1) 平台标准位置:ServerEnv 单例
|
||||
# 1) 平台标准位置:ahserver.serverenv 的 ServerEnv 单例(SingletonDecorator,
|
||||
# webapp() 在 init_func() 之前已建好单例并挂 event_dispatcher)。
|
||||
# [r13-start3 修复] 原候选只有 sage_util.server_env/server_env/sage_util.env/
|
||||
# appbase.server_env 四个虚构位置,真实位置缺席 → 永远解析不到 → 兜底抛错。
|
||||
try:
|
||||
from sage_util.server_env import ServerEnv # type: ignore
|
||||
from ahserver.serverenv import ServerEnv # type: ignore
|
||||
inst = ServerEnv()
|
||||
if inst is not None:
|
||||
return inst
|
||||
@ -106,6 +109,7 @@ def _resolve_server_env():
|
||||
pass
|
||||
# 2) 常见别名位置
|
||||
for mod_name, attr in (
|
||||
("sage_util.server_env", "ServerEnv"),
|
||||
("server_env", "ServerEnv"),
|
||||
("sage_util.env", "ServerEnv"),
|
||||
("appbase.server_env", "ServerEnv"),
|
||||
@ -157,7 +161,7 @@ def get_env(required=True):
|
||||
return env
|
||||
if required:
|
||||
raise PblError(
|
||||
ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
ErrorCode.DB_UNAVAILABLE,
|
||||
"ServerEnv 不可用:请在应用 init() 中先挂载环境,"
|
||||
"或调用 pbl_blueprint.m1b.set_env(env) 注入",
|
||||
)
|
||||
@ -186,6 +190,6 @@ def get_module_dbname(module="pbl_blueprint", default=None):
|
||||
if env_name:
|
||||
return env_name
|
||||
raise PblError(
|
||||
ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
ErrorCode.DB_UNAVAILABLE,
|
||||
"无法解析模块 %r 的库名(ServerEnv.get_module_dbname 不可用且无默认值)" % module,
|
||||
)
|
||||
|
||||
@ -172,7 +172,7 @@ NEW_SOR = """def _resolve_sor():
|
||||
return obj
|
||||
except Exception:
|
||||
pass
|
||||
raise PblError(ErrorCode.PBL_DB_UNAVAILABLE,
|
||||
raise PblError(ErrorCode.DB_UNAVAILABLE,
|
||||
"sqlor 句柄不可用:ensure_tables 需要 sor(请传入 sor= 或先挂载应用环境)")
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user