def _init(Level2Spi=Level2Api): G = globals() del G['_init'] Level2Spi = dict( (k, v) for k, v in Level2Spi.__dict__.items() if k.startswith('On')) from ._Level2Api import _init, Level2Api _init(Level2ApiStruct) G['Level2Api'] = type('Level2Api', (Level2Api, ), Level2Spi)
def TraderApi(): from ._TraderApi import _init, TraderApi _init(ApiStruct) return type("TraderApi", (TraderApi,), TraderSpi)
def MdApi(): from ._MdApi import _init, MdApi _init(ApiStruct) return type("MdApi", (MdApi,), MdSpi)
def _init(init=_init, MdSpi=MdApi, TraderSpi=TraderApi): import sys from types import ModuleType, FunctionType as F f = (lambda f: F(f.__code__, env)) if sys.version_info[0] >= 3 else (lambda f: F(f.func_code, env)) mod = sys.modules[__name__] Module = type(mod) if Module is ModuleType: class Module(ModuleType): pass mod = Module(__name__) env = mod.__dict__ env.update((k, v) for k, v in globals().items() if k.startswith("__") and k.endswith("__")) MdSpi = dict((k, f(v)) for k, v in MdSpi.__dict__.items() if k.startswith("On")) TraderSpi = dict((k, f(v)) for k, v in TraderSpi.__dict__.items() if k.startswith("On")) sys.modules[__name__] = mod else: env = mod.__dict__ for k in ("MdApi", "TraderApi", "_init"): del env[k] MdSpi = dict((k, v) for k, v in MdSpi.__dict__.items() if k.startswith("On")) TraderSpi = dict((k, v) for k, v in TraderSpi.__dict__.items() if k.startswith("On")) f(init)(Module, MdSpi, TraderSpi) _init()
def TraderApi(): from ._TraderApi import _init, TraderApi _init(ApiStruct) return type('TraderApi', (TraderApi, ), TraderSpi)
def MdApi(): from ._MdApi import _init, MdApi _init(ApiStruct) return type('MdApi', (MdApi, ), MdSpi)
lambda f: F(f.func_code, env)) mod = sys.modules[__name__] Module = type(mod) if Module is ModuleType: class Module(ModuleType): pass mod = Module(__name__) env = mod.__dict__ env.update((k, v) for k, v in globals().items() if k.startswith('__') and k.endswith('__')) MdSpi = dict( (k, f(v)) for k, v in MdSpi.__dict__.items() if k.startswith('On')) TraderSpi = dict((k, f(v)) for k, v in TraderSpi.__dict__.items() if k.startswith('On')) sys.modules[__name__] = mod else: env = mod.__dict__ for k in ('MdApi', 'TraderApi', '_init'): del env[k] MdSpi = dict( (k, v) for k, v in MdSpi.__dict__.items() if k.startswith('On')) TraderSpi = dict((k, v) for k, v in TraderSpi.__dict__.items() if k.startswith('On')) f(init)(Module, MdSpi, TraderSpi) _init()
def TraderApi(): from ._TraderApi import _init, TraderApi; _init(ApiStruct) return type('TraderApi', (TraderApi,), TraderSpi)
def MdApi(): from ._MdApi import _init, MdApi; _init(ApiStruct) return type('MdApi', (MdApi,), MdSpi)
def _init(Level2Spi=Level2Api): G = globals(); del G['_init'] Level2Spi = dict((k,v) for k,v in Level2Spi.__dict__.items() if k.startswith('On')) from ._Level2Api import _init, Level2Api; _init(Level2ApiStruct) G['Level2Api'] = type('Level2Api', (Level2Api,), Level2Spi)