vnpy/trader/gateway/__init__.py
2017-06-11 20:55:26 +08:00

61 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# encoding: UTF-8
'''
动态载入所有的Gateway
'''
import os
import importlib
import traceback
# 用来保存Gateway类的字典
GATEWAY_DICT = {}
# modified by Incense Lee
# 只加载指定的gateway清单
# 需要加载的gateway清单
load_gateways = ['ctpGateway']
# 逐一加载
for load_gateway in load_gateways:
# 模块名称需要上前缀
moduleName = 'gateway.' + load_gateway
print u'load Module:{0}'.format(moduleName)
try:
# 使用importlib动态载入模块并保存到字典中
module = importlib.import_module(moduleName)
GATEWAY_DICT[module.gatewayName] = module
except Exception as ex:
print u'Load {0} exception:{1}'.format(moduleName, ex)
traceback.print_exc()
"""
# 获取目录路径
path = os.path.abspath(os.path.dirname(__file__))
# 遍历strategy目录下的文件
for root, subdirs, files in os.walk(path):
if path != root:
continue
for foldername in subdirs:
# 接口目录名中必须含有Gateway
if 'Gateway' in foldername:
# 排除不要加载的gateway模块
if foldername not in load_gateways:
continue
# 模块名称需要上前缀
moduleName = 'gateway.' + foldername
print u'load Module:{0}'.format(moduleName)
try:
# 使用importlib动态载入模块并保存到字典中
module = importlib.import_module(moduleName)
GATEWAY_DICT[module.gatewayName] = module
except Exception as ex:
print u'Load {0} exception:{1}'.format(moduleName, ex)
traceback.print_exc()
"""