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