feat(interface): 图形化设置页原型
This commit is contained in:
@@ -1,13 +1,19 @@
|
||||
from heurams.services.config import ConfigDict
|
||||
from heurams.services.logger import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
def epath(dct, path: str = '', default=None, parents=False):
|
||||
if not path:
|
||||
return dct
|
||||
|
||||
path = path.rstrip('/')
|
||||
path = path.rstrip('.')
|
||||
path = path.lstrip('.')
|
||||
target = dct
|
||||
|
||||
for i in path.split('/'):
|
||||
for i in path.split('.'):
|
||||
# 处理字典键
|
||||
if isinstance(target, dict) and i in target:
|
||||
logger.debug(f'处理 {i}, {(isinstance(target, dict) or isinstance(target, ConfigDict))} {i in target}')
|
||||
if (isinstance(target, dict) or isinstance(target, ConfigDict)) and i in target:
|
||||
target = target[i]
|
||||
# 处理列表索引
|
||||
elif i.startswith('[') and i.endswith(']') and isinstance(target, (list, tuple)):
|
||||
|
||||
Reference in New Issue
Block a user