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)
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)
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))
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))
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))
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))