Пример #1
0
 def __init__(self,screener_id,main_ctrl,setting):
     super(ScreenerCtrl, self).__init__()
     self.setting = setting
     self.screener_id = screener_id
     self.main_ctrl = main_ctrl
     stock_ctrl_factory = StockCtrlFactory(setting)
     self.stock_ctrl = stock_ctrl_factory.create_stock_ctrl(screener_id)
     title_ctrl_factory = TitleCtrlFactory(setting)
     self.title_ctrl = title_ctrl_factory.create_title_ctrl(screener_id)
     screener_factory = ScreenerFactory(setting)
     screener_kwargs = {
         'main_window':main_ctrl.main_window,
         'screener_id':screener_id,
         'stock_ctrl':self.stock_ctrl,
         'title_ctrl':self.title_ctrl,
     }
     self.screener = screener_factory.create_screener(**screener_kwargs)
     #响应screener的save消息
     self.connect(self.screener,
         QtCore.SIGNAL('save_event()'),
         self.on_save_event)
     #响应screener的submit消息
     self.connect(self.screener,
         QtCore.SIGNAL('submit_event()'),
         self.on_submit_event)
     #响应screener的cancel消息
     self.connect(self.screener,
         QtCore.SIGNAL('cancel_event()'),
         self.on_cancel_event)
     #响应screener的item被关闭消息
     self.connect(self.screener,
         QtCore.SIGNAL('item_close(QString)'),
         self.on_item_close)
Пример #2
0
 def __init__(self, screener_id, main_ctrl, setting):
     super(ScreenerCtrl, self).__init__()
     self.setting = setting
     self.screener_id = screener_id
     self.main_ctrl = main_ctrl
     stock_ctrl_factory = StockCtrlFactory(setting)
     self.stock_ctrl = stock_ctrl_factory.create_stock_ctrl(screener_id)
     title_ctrl_factory = TitleCtrlFactory(setting)
     self.title_ctrl = title_ctrl_factory.create_title_ctrl(screener_id)
     screener_factory = ScreenerFactory(setting)
     screener_kwargs = {
         'main_window': main_ctrl.main_window,
         'screener_id': screener_id,
         'stock_ctrl': self.stock_ctrl,
         'title_ctrl': self.title_ctrl,
     }
     self.screener = screener_factory.create_screener(**screener_kwargs)
     #响应screener的save消息
     self.connect(self.screener, QtCore.SIGNAL('save_event()'),
                  self.on_save_event)
     #响应screener的submit消息
     self.connect(self.screener, QtCore.SIGNAL('submit_event()'),
                  self.on_submit_event)
     #响应screener的cancel消息
     self.connect(self.screener, QtCore.SIGNAL('cancel_event()'),
                  self.on_cancel_event)
     #响应screener的item被关闭消息
     self.connect(self.screener, QtCore.SIGNAL('item_close(QString)'),
                  self.on_item_close)
Пример #3
0
 def run(self):
     try:
         spider = XueqiuSpider(auto_perform=False)
         stock_ctrl_factory = StockCtrlFactory(self.setting)
         stock_ctrl = stock_ctrl_factory.create_stock_ctrl('xueqiu')
         spider.set_call_back(self)
         spider.perform()
         self.results = spider.results()
         stock_ctrl.update_by_result(self.results)
         self.succeed = True
     except Exception as e:
         self.succeed = False
         self.emit(QtCore.SIGNAL('except(const QString&)'), unicode(e))
Пример #4
0
 def run(self):
     try:
         spider = XueqiuSpider(auto_perform=False)
         stock_ctrl_factory = StockCtrlFactory(self.setting)
         stock_ctrl = stock_ctrl_factory.create_stock_ctrl('xueqiu')
         spider.set_call_back(self)
         spider.perform()
         self.results = spider.results()
         stock_ctrl.update_by_result(self.results)
         self.succeed = True
     except Exception as e:
         self.succeed = False
         self.emit(QtCore.SIGNAL('except(const QString&)'),unicode(e))
Пример #5
0
    def run(self):
        try:
            spider = WencaiSpider(auto_perform=False)
            stock_ctrl_factory = StockCtrlFactory(self.setting)
            stock_ctrl = stock_ctrl_factory.create_stock_ctrl('wencai')
            #设置spider的callback,每完成一个步骤就调用callback
            spider.set_call_back(self)
            #直接开始, 如果顺利的话就调用多次callback, 否则抛出异常
            spider.perform()
            #网络连接获取数据完成之后就存数据
            self.results = spider.results()
            stock_ctrl.update_by_result(self.results)

            #到这里就完全完成了, 如果还没有异常的话, call_back最后一次
            self.succeed = True
        except Exception as e:
            self.succeed = False
            self.emit(QtCore.SIGNAL('except(const QString&)'), unicode(e))
Пример #6
0
    def run(self):
        try:
            spider = WencaiSpider(auto_perform=False)
            stock_ctrl_factory = StockCtrlFactory(self.setting)
            stock_ctrl = stock_ctrl_factory.create_stock_ctrl('wencai')
            #设置spider的callback,每完成一个步骤就调用callback
            spider.set_call_back(self)
            #直接开始, 如果顺利的话就调用多次callback, 否则抛出异常
            spider.perform()
            #网络连接获取数据完成之后就存数据
            self.results = spider.results()
            stock_ctrl.update_by_result(self.results)

            #到这里就完全完成了, 如果还没有异常的话, call_back最后一次
            self.succeed = True
        except Exception as e:
            self.succeed = False
            self.emit(QtCore.SIGNAL('except(const QString&)'),unicode(e))