Пример #1
0
class Shell(BackendInterface, UIInterface):
    """ 终端接口类,可通过它在python终端上操作界面和后台代码。 """
    def __init__(self):
        log.info("Init Shell..")
        self._engine = ZMQEventEngine('Shell')
        self._engine.start()
        self.gate = EventRPCClient('Shell',
                                  self._engine,
                                  WindowGate.SERVER_FOR_SHELL)

        self._backend = EventRPCClient('test_shell',
                                      self._engine,
                                      Backend.SERVER_FOR_SHELL)

    def get_all_pcontracts(self):
        pass

    def get_all_contracts(self):
        ret = self._backend.sync_call("get_all_contracts")
        six.print_("****" )
        six.print_(ret)
        six.print_("****" )
        #"""docstring for get_all_contracts""" 
        #six.print_("------------------" )
        #six.print_("get-all-contracts" )
        #six.print_(pcontract)
        #six.print_("------------------" )
        #return "world" 
    def show_data(self, strpcontract):
        """docstring for load_pcontract""" 
        return self.gate.sync_call("show_data", {
            'pcontract': strpcontract
            })

    def get_pcontract(self, pcontract):
        """docstring for get_data""" 
        pass

    def run_strategy(self, name):
        """""" 
        return

    def run_technical(self, name):
        return

    def get_technicals(self):
        """ 获取系统的所有指标。 """
        return

    def get_strategies(self):
        return 'hello' 

    def plot(self):
        """docstring for plo""" 
        six.print_("plot" )
class Shell(BackendInterface, UIInterface):
    """ 终端接口类,可通过它在python终端上操作界面和后台代码。 """
    def __init__(self):
        log.info("Init Shell..")
        self._engine = ZMQEventEngine('Shell')
        self._engine.start()
        self.gate = EventRPCClient('Shell', self._engine,
                                   WindowGate.SERVER_FOR_SHELL)

        self._backend = EventRPCClient('test_shell', self._engine,
                                       Backend.SERVER_FOR_SHELL)

    def get_all_pcontracts(self):
        pass

    def get_all_contracts(self):
        ret = self._backend.sync_call("get_all_contracts")
        six.print_("****")
        six.print_(ret)
        six.print_("****")
        #"""docstring for get_all_contracts"""
        #six.print_("------------------" )
        #six.print_("get-all-contracts" )
        #six.print_(pcontract)
        #six.print_("------------------" )
        #return "world"
    def show_data(self, strpcontract):
        """docstring for load_pcontract"""
        return self.gate.sync_call("show_data", {'pcontract': strpcontract})

    def get_pcontract(self, pcontract):
        """docstring for get_data"""
        pass

    def run_strategy(self, name):
        """"""
        return

    def run_technical(self, name):
        return

    def get_technicals(self):
        """ 获取系统的所有指标。 """
        return

    def get_strategies(self):
        return 'hello'

    def plot(self):
        """docstring for plo"""
        six.print_("plot")
Пример #3
0
 def test_sync_call(timeout):
     ee = QueueEventEngine()
     client = EventRPCClient(ee, 'test')
     server = EventRPCServer(ee, 'test')
     server.register("server_print_hello", server_print_hello)
     ee.start()
     six.print_(
         client.sync_call("server_print_hello", {'msg': 'sync_client'},
                          timeout), "**")
     ee.stop()
     return
Пример #4
0
class WindowGate(BackendInterface):
    SERVER_FOR_SHELL = "ui4shell"

    def __init__(self, widget):
        log.info("Init WindowGate..")
        self._engine = ZMQEventEngine('WindowGate')
        self._engine.start()
        self._backend = EventRPCClient('WindowGate', self._engine,
                                       Backend.SERVER_FOR_UI)
        self._shell_srv = EventRPCServer(self._engine, self.SERVER_FOR_SHELL)
        self._register_functions(self._shell_srv)
        self._period = None
        self._contract = None
        self._widget = widget

    def _register_functions(self, server):
        server.register('get_all_contracts', self.get_all_contracts)
        server.register('get_all_pcontracts', self.get_all_pcontracts)
        server.register('get_pcontract', self.get_pcontract)
        server.register('show_data', self.show_data)

    def add_widget(self, ith, type_):
        self._widget.add_widget

    def add_technical(self, ith, technical):
        """"""
        ## @TODO compute technical with backend,
        # display result from backend
        return

    @property
    def pcontract(self):
        return PContract(self._contract, self._period)

    def stop(self):
        self._engine.stop()

    def get_all_contracts(self):
        ret = self._backend.sync_call('get_all_contracts')
        return deserialize_all_contracts(ret)

    def get_all_pcontracts(self):
        ret = self._backend.sync_call('get_all_pcontracts')
        return deserialize_all_pcontracts(ret)

    def get_pcontract(self, str_pcontract):
        ret = self._backend.sync_call('get_pcontract',
                                      {'str_pcontract': str_pcontract})
        return deserialize_pcontract_bars(ret)

    def run_strategy(self, name):
        """"""
        return

    def run_technical(self, name):
        return

    def get_technicals(self):
        """ 获取系统的所有指标。 """
        return

    def get_strategies(self):
        """ 获取系统的所有策略。 """
        return

    def show_data(self, pcontract):
        self._widget.show_data(pcontract)
Пример #5
0
class WindowGate(BackendInterface):
    SERVER_FOR_SHELL = "ui4shell"
    def __init__(self, widget):
        log.info("Init WindowGate..")
        self._engine = ZMQEventEngine('WindowGate')
        self._engine.start()
        self._backend = EventRPCClient('WindowGate', self._engine, Backend.SERVER_FOR_UI)
        self._shell_srv = EventRPCServer(self._engine, self.SERVER_FOR_SHELL)
        self._register_functions(self._shell_srv)
        self._period = None
        self._contract = None
        self._widget = widget

    def _register_functions(self, server):
        server.register('get_all_contracts', self.get_all_contracts)
        server.register('get_all_pcontracts', self.get_all_pcontracts)
        server.register('get_pcontract', self.get_pcontract)
        server.register('show_data', self.show_data)

    def add_widget(self, ith, type_):
        self._widget.add_widget

    def add_technical(self, ith, technical):
        """""" 
        ## @TODO compute technical with backend,
        # display result from backend
        return

    @property
    def pcontract(self):
        return PContract(self._contract, self._period)

    def stop(self):
        self._engine.stop()

    def get_all_contracts(self):
        ret = self._backend.sync_call('get_all_contracts')
        return deserialize_all_contracts(ret)

    def get_all_pcontracts(self):
        ret = self._backend.sync_call('get_all_pcontracts')
        return deserialize_all_pcontracts(ret)

    def get_pcontract(self, str_pcontract):
        ret = self._backend.sync_call('get_pcontract', {
            'str_pcontract': str_pcontract
            })
        return deserialize_pcontract_bars(ret)

    def run_strategy(self, name):
        """""" 
        return

    def run_technical(self, name):
        return

    def get_technicals(self):
        """ 获取系统的所有指标。 """
        return

    def get_strategies(self):
        """ 获取系统的所有策略。 """
        return

    def show_data(self, pcontract):
        self._widget.show_data(pcontract)