Exemplo n.º 1
0
 def OnSaveExport(self,event):
     '''
     :保存和导出按钮事件响应
     :param event:事件值
     '''
     if self.savebutton.GetLabel() == u'导出':
         dlg = wx.FileDialog(self,u'保存为...',\
                             os.getcwd(),\
                             style = wx.SAVE|wx.OVERWRITE_PROMPT,\
                             wildcard = ggv.wildcard)
         dlg.CenterOnParent()
         if dlg.ShowModal() == wx.ID_OK:
             filename = dlg.GetPath()
             ExcelWriter(filename,self.lang,self.dataitems)
         dlg.Destroy()
     else:
         if self.singleflag:
             self.langid = self.langid + self.datestart
         dlg = wx.MessageDialog(self,
                                u'确定修改数据库?所有修\n改的数据都将写会数据库',
                                u'数据修改确认',
                                wx.YES_NO|wx.ICON_QUESTION)
         dlg.CenterOnParent()
         if dlg.ShowModal() == wx.ID_YES:
             dbs = DBstorage()
             dbs.update_data_many(self.langid, self.editdata)
         else:
             return None
Exemplo n.º 2
0
 def OnDeleteData(self,event):
     '''
     :删除正行数据事件响应
     :param event:事件值
     '''
     dlg = wx.MessageDialog(self,
                            u'确定删除本数据项?\n此操作将无法撤回',
                            u'数据项删除确认',
                            wx.YES_NO|wx.ICON_QUESTION)
     dlg.CenterOnParent()
     if dlg.ShowModal() == wx.ID_YES:
         domain = self.grid.GetTable().GetValue(self.delrow,0)
         if self.singleflag:
             self.langid = self.langid + self.datestart
         dbs = DBstorage()
         dbs.delete_data(self.langid, domain)
     else:
         return None
 def run(self):
     while True:
         if self.timeToQuit.isSet():break
         if self.inqueue.empty():break
         line = self.inqueue.get()
         line = line.split('\t')
         si = self.sitgsi(line[0], line[1:])
         if ggv.pterminate:break
         gpercent = float('%.3f'%(1.0*(ggv.gaugesize-self.inqueue.qsize())/ggv.gaugesize))*100               #完成进度百分比
         self.window.gauge.SetValue(gpercent)
         self.window.SetStatusText(u'%s网页语言识别中..%.1f%%'%(self.m,gpercent),1)
         if si:
             dbs = DBstorage()           
             dbs.insert_data(ggv.lang_use, si)           #存入数据库
             self.window.rstlogUpadate(u'语   言:%s\r\n可信度:%s\r\n链   接:%s\r\n'%(ggv.lang_use,si[-2],si[-1]))   #成功识别语言,在主界面显示
             self.outqueue.put(si[-1])
             self.window.SetStatusText(u'收集网站数:%d'%self.outqueue.qsize(),2)
         self.inqueue.task_done()
Exemplo n.º 4
0
 def OnCheck(self,event):
     '''
     :查询按钮动作事件响应
     :param event:事件值
     '''
     ''''''
     self.SetStatusText('',1)                            #清空状态栏信息
     self.savebutton.Enable(False)                       #重新获取数据,save按钮不可用
     if self.grid.GetNumberRows() > 0:                   #再次查询时清空还原
         self.grid.ClearGrid()
         self.grid.DeleteRows(0,self.grid.GetNumberRows())
     dbs = DBstorage()
     self.langid = ggv.langIds[ggv.langs.index(self.langlachoice.GetLabel())]    #查询是语种数据库
     self.datestart = self.startdate.GetValue()          #获取输入的日期
     if not self.ShowMessage(self.datestart): return None                        #判断日期是否为空
     if self.singleflag:                                 #查询单个数据表格
         langtable = self.langid+self.datestart          #构建待查询数据表名称
         self.dataitems = dbs.fetchall_data_single(langtable)#查询数据库
     else:
         self.dateend = self.enddate.GetValue()
         if not self.ShowMessage(self.dateend):return None                       #判断日期是否为空
         if self.dateend < self.datestart:self.dateend,self.datestart = (self.datestart,self.dateend)    #若截止日期小于开始日期则调换
         self.datestart = self.datestart[:4] + '-' + self.datestart[4:6] + '-' + self.datestart[6:]
         self.dateend = self.dateend[:4] + '-' + self.dateend[4:6] + '-' + self.dateend[6:]
         if not self.ShowMessage(self.dateend):return None
         self.dataitems = dbs.fetchall_data_total(self.langid, (self.datestart,self.dateend))
     if not self.dataitems:
         wx.MessageBox(u'这个时间段没有%s数据入库,\n请尝试查询其他时间段数据。'%self.lang,
                       u'找不到相关数据',
                       wx.OK|wx.ICON_INFORMATION)
         self.SetStatusText(u'查询到0个结果',1)
         return None
     self.grid.AppendRows(len(self.dataitems))
     self.SetStatusText(u'查询到%s个结果'%len(self.dataitems),1)
     for i,row in enumerate(self.dataitems):
         for j,col in enumerate(row[1:]):
             self.grid.SetCellValue(i,j,str(col).encode('utf8'))
     self.savebutton.Enable(True)