예제 #1
0
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)
예제 #2
0
    def TraderApi():
        from ._TraderApi import _init, TraderApi

        _init(ApiStruct)
        return type("TraderApi", (TraderApi,), TraderSpi)
예제 #3
0
    def MdApi():
        from ._MdApi import _init, MdApi

        _init(ApiStruct)
        return type("MdApi", (MdApi,), MdSpi)
예제 #4
0
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()
예제 #5
0
 def TraderApi():
     from ._TraderApi import _init, TraderApi
     _init(ApiStruct)
     return type('TraderApi', (TraderApi, ), TraderSpi)
예제 #6
0
 def MdApi():
     from ._MdApi import _init, MdApi
     _init(ApiStruct)
     return type('MdApi', (MdApi, ), MdSpi)
예제 #7
0
        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()
예제 #8
0
파일: __init__.py 프로젝트: leolmj/pyctp
 def TraderApi():
     from ._TraderApi import _init, TraderApi; _init(ApiStruct)
     return type('TraderApi', (TraderApi,), TraderSpi)
예제 #9
0
파일: __init__.py 프로젝트: leolmj/pyctp
 def MdApi():
     from ._MdApi import _init, MdApi; _init(ApiStruct)
     return type('MdApi', (MdApi,), MdSpi)
예제 #10
0
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)