logistics/utils/apply_active_config.py

25 lines
801 B
Python

from logisticsClass.logisticsBaseClass import HeadLogistics, PortType, TailLogistics,BaseLogistics
# logistics_config.py
ACTIVE_LOGISTICS = {
"FedexPPLogistics_US": True,
"FedexKHLogistics_US": True,
"FedexHOMELogistics_US": True,
"FedexGROUDLogistics_US": True,
"MetroLogistics_US": True,
"GIGALogistics_US": True,
"CEVALogistics_US": True,
"XmilesLogistics_US":True,
"AMTWestLogistics_US":True,
"AMTEastLogistics_US":True
}
def apply_active_config():
stack = list(BaseLogistics.__subclasses__())
while stack:
subclass = stack.pop()
name = subclass.__name__
if name in ACTIVE_LOGISTICS:
subclass.active = ACTIVE_LOGISTICS[name]
# 否则保持默认的 active
stack.extend(subclass.__subclasses__())