31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from .base import *
|
||
from .dirs import *
|
||
from .configs import *
|
||
from .options import *
|
||
from .common import *
|
||
from .customer import *
|
||
from .black import *
|
||
|
||
def load_from_file(config_path:str=None):
|
||
"""从文件加载customer配置
|
||
"""
|
||
if not os.path.exists(config_path):
|
||
log.warning(f"{config_path} doesn't exists")
|
||
return
|
||
with open(config_path, 'r') as f:
|
||
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
|
||
from thirdparty import yaml
|
||
obj = yaml.safe_load(f.read())
|
||
# 遍历该package下的所有数据,如果是 BaseConfig 类型的实例则进行更新操作
|
||
for class_name in globals():
|
||
instance = globals()[class_name]
|
||
if isinstance(instance, BaseConfig):
|
||
class_name = instance.__class__.__name__
|
||
if class_name not in obj:
|
||
log.debug(f"No Customer Config update ==> {class_name}")
|
||
continue
|
||
log.info(f"Update Customer Config Cnt: {len(obj[class_name]):3d} ==> {class_name}")
|
||
instance = instance.update_from_extra(obj[class_name])
|
||
globals()[class_name] = instance
|
||
|