def __refresh(self): self.lst.clear() for i in xrange(1,2000): if glu.testKey('Dop Text '+str(i)): self.lst.append([int(glu.getKey('Dop Num '+str(i))),glu.getKey('Dop Text '+str(i))]) pass pass
def __on_row_activated(self,widget,row,col): tree_model,tree_iter=widget.get_selection().get_selected() if tree_iter!=None: id=tree_model.get_value(tree_iter,0) if glu.testKey('BarMask Num '+str(id)): self.num.set_text(str(glu.getKey('BarMask Num '+str(id)))) self.mes.set_text(glu.getKey('BarMask '+str(id)))
def __refresh(self): self.lst.clear() for i in xrange(1,16): if glu.testKey('Tare '+str(i)): self.lst.append([int(glu.getKey('Tare Num '+str(i))),glu.getKey('Tare '+str(i))]) pass pass
def __on_click(self,widget,data=None): if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.__clear_text() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,99): try : num,txt=tigerlib.getSellers_204(i,modesocket=tigerlib.MULTIOPERATION) glu.setKey('Pers Num '+str(num),num) glu.setKey('Pers Text '+str(num),txt) except Exception,ecx : print 'поймали ',ecx continue #time.sleep(1) tigerlib.closesocket() self.__refresh()
def __test_one_rec(self, id): ''' возвращает True если уже есть активный елемент''' for i in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale ' + str(i + 1)): if glu.getKey('Exchange scale ' + str(i + 1)) and (id != (i + 1)): return True return False
def __on_row_activated(self,widget,row,col): tree_model,tree_iter=widget.get_selection().get_selected() if tree_iter!=None: id=tree_model.get_value(tree_iter,0) self.num.set_text(glu.getKey('Dop Num '+str(id))) self.mes.set_text(glu.getKey('Dop Text '+str(id))) pass pass
def __refresh(self): # print self.lst # print glu.prop self.lst.clear() for i in xrange(1,20): if glu.testKey('Group Text '+str(i)): self.lst.append([int(glu.getKey('Group Num '+str(i))),glu.getKey('Group Text '+str(i))]) pass pass
def __on_click(self,widget,data=None): if data=='new': if len(self.num.get_text())!=0: ic=len(self.lst) ic +=1 if ic>20: return False glu.setKey('Group Num '+str(ic),self.num.get_text()) glu.setKey('Group Text '+str(ic),self.mes.get_text()) self.__refresh() pass if data=='del': pass if data=='sendcale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,20): if glu.testKey('Group Text '+str(i)): tigerlib.setCommodityGroups_210(int(glu.getKey('Group Num '+str(i))),glu.getKey('Group Text '+str(i)),int(glu.getKey('Group Num '+str(i))),modesocket=tigerlib.MULTIOPERATION) #time.sleep(1) tigerlib.closesocket() pass if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.__clear_text() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,20): try : num,txt,root_group=tigerlib.getCommodityGroups_210(i,tigerlib.MULTIOPERATION) glu.setKey('Group Num '+str(i),num) glu.setKey('Group Text '+str(i),txt) except Exception,ecx : print 'поймали ',ecx continue #time.sleep(1) tigerlib.closesocket() self.__refresh() pass
def __on_click(self,widget,data=None): if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() self.rt=tigerlib.getConfigWrk_202(modesocket=tigerlib.MULTIOPERATION) tigerlib.closesocket() pass self.__set_view_param() pass
def __on_click(self,widget,data=None): if data=='sendscale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.setOrganisation_212(self.semtry.get_text()) pass if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) num,text=tigerlib.getOrganisation_212() self.semtry.set_text(text) pass pass
def __on_click(self,widget,data=None): if data=='insert': iefrm=InsEditScale(0) iefrm.run() if iefrm.ok: i=int(glu.getKey('Count Scale')) i+=1 glu.setKey('Num '+str(i),i) glu.setKey('Name Scale '+str(i),iefrm.nameScale.get_text()) glu.setKey('IP '+str(i),iefrm.ipAdress.get_text()) glu.setKey('Scale use '+str(i),True) glu.setKey('Count Scale',i) glu.setKey('Number line '+str(i),iefrm.lineNum.get_text()) iefrm.destroy() #print glu.prop self.__refresh() if data=='edit': if self.sel_id==None: return True iefrm=InsEditScale(1,glu.getKey('Name Scale '+str(self.sel_id)),glu.getKey('IP '+str(self.sel_id)),glu.getKey('Number line '+str(self.sel_id))) iefrm.run() if iefrm.ok: glu.setKey('Num '+str(self.sel_id),self.sel_id) glu.setKey('Name Scale '+str(self.sel_id),iefrm.nameScale.get_text()) glu.setKey('IP '+str(self.sel_id),iefrm.ipAdress.get_text()) glu.setKey('Number line '+str(self.sel_id),iefrm.lineNum.get_text()) iefrm.destroy() self.__refresh() if data=='del': # TODO удаление не работает glu.delKey('Num '+str(self.sel_id)) glu.delKey('Name Scale '+str(self.sel_id)) glu.delKey('IP '+str(self.sel_id)) glu.delKey('Number line '+str(self.sel_id)) self.__refresh() pass pass
def __on_row_activated(self, widget, row, col): tree_model, tree_iter = widget.get_selection().get_selected() if tree_iter != None: id = tree_model.get_value(tree_iter, 0) if self.select_multi_mode == 1: if self.__test_one_rec(id): return False if glu.testKey('Exchange scale ' + str(id)): flg = not glu.getKey('Exchange scale ' + str(id)) glu.setKey('Exchange scale ' + str(id), flg) else: glu.setKey('Exchange scale ' + str(id), True) self.__refresh() #print row,id,col pass
def __on_click_2(self,widget,data=None): #print widget,data #print glu.pludata if data=='resivescale': ''' данные из весов ''' selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False glu.keyplulink.clear() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange (1,100): rt=tigerlib.getFixKey_216(i,tigerlib.MULTIOPERATION) x=next((x for x in glu.pludata if x[0]==rt[2]),None) if x!=None: glu.keyplulink['mb'+str(rt[0])]=[str(rt[2]),x[2].encode('utf-8').rstrip('\x00')] tigerlib.closesocket() pass if data=='sendcale': ''' данные в весы ''' selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for l in glu.keyplulink: tigerlib.setFixKey_216(int(re.sub("[^0-9]","",l)),0,int(glu.keyplulink[l][0]),tigerlib.MULTIOPERATION) pass pass tigerlib.closesocket() pass pass
def __refresh(self): self.lst.clear() #print glu.prop for i in xrange(glu.getKey('Count Scale')): if glu.getKey('Scale use ' + str(i + 1)): flg = True if glu.testKey('Exchange scale ' + str(i + 1)): flg = glu.getKey('Exchange scale ' + str(i + 1)) print type(flg) self.lst.append([ int(glu.getKey('Num ' + str(i + 1))), glu.getKey('Name Scale ' + str(i + 1)), glu.getKey('IP ' + str(i + 1)), flg ])
def __on_click(self,widget,data=None): if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) num,font_size,text=tigerlib.getHeaders_211(0) if num==0 : self.upedit.set_text(text) self.up_size.set_text(font_size) time.sleep(1) num,font_size,text=tigerlib.getHeaders_211(1) if num==1: self.dwnedit.set_text(text) self.dwn_size.set_text(font_size) pass if data=='sendscale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.setHeaders_211(0,self.up_size.get_text(),self.upedit.get_text()) time.sleep(1) tigerlib.setHeaders_211(1,self.dwn_size.get_text(),self.dwnedit.get_text()) pass pass
def __on_click(self,widget,data=None): if data=='new': if len(self.num.get_text())!=0 : i=0 if int(self.num.get_text())>8: return None ii=int(self.num.get_text()) if glu.testKey('BarMask count'): i=glu.getKey('BarMask count') glu.setKey('BarMask Num '+str(ii),int(self.num.get_text())) glu.setKey('BarMask '+str(ii),self.mes.get_text()) i +=1 glu.setKey('BarMask count',i) self.__refresh() pass pass if data=='del': glu.delKey('BarMask Num '+str(self.sel_id)) glu.delKey('BarMask '+str(self.sel_id)) self.__refresh() pass if data=='sendcale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,9): tigerlib.setBarCode_214(i,glu.getKey('BarMask '+str(i)),tigerlib.MULTIOPERATION) #time.sleep(1) pass tigerlib.closesocket() pass if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.__clear_bar() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) #print tigerlib.address tigerlib.opensocket() for i in xrange(1,9): num,st=tigerlib.getBarCode_214(i,tigerlib.MULTIOPERATION) glu.setKey('BarMask Num '+str(i),num) glu.setKey('BarMask '+str(i),st) #time.sleep(1) tigerlib.closesocket() self.__refresh() pass
def __set_default_select(self): for i in xrange(glu.getKey('Count Scale')): if glu.getKey('Scale use ' + str(i + 1)): if glu.testKey('Exchange scale ' + str(i + 1)) != True: glu.setKey('Exchange scale ' + str(i + 1), False)
def __destroy(self,widget): glu.SaveCFG(glu.getKey('USER PATH')+os.sep+'.metler_scale'+os.sep+'tiger.ini') gtk.main_quit() return False
return mb def set_message_sb(self,msg): context_id=self.sb.get_context_id('') self.sb.push(msg,context_id) def __init__(self): win = gtk.Window(gtk.WINDOW_TOPLEVEL) win.set_title('Работа с весами Metler Toledo Tiger') win.set_default_size(win.get_screen().get_width(),400) win.connect('destroy',self.__destroy) win.set_icon_from_file('scales.png') vbox=gtk.VBox() vbox.pack_start(self.__set_menu(),False,True,4) self.hbox=gtk.HBox() vbox.pack_start(self.hbox,True,True,4) self.sb=gtk.Statusbar() vbox.pack_start(self.sb,False,True,4) win.add(vbox) win.show_all() def main(self): gtk.main() pass if __name__=='__main__': glu.TestAndDefaultGreate() glu.LoadCFG(glu.getKey('USER PATH')+os.sep+'.metler_scale'+os.sep+'tiger.ini') App().main()
def __on_click(self,widgeth,data=None): if data=='load': dialog=gtk.FileChooserDialog('Открыть',None,gtk.FILE_CHOOSER_ACTION_OPEN,(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OK,gtk.RESPONSE_OK)) dialog.set_default_response(gtk.RESPONSE_OK) filter=gtk.FileFilter() filter.set_name('Список товаров') filter.add_pattern('*.csv') dialog.add_filter(filter) response=dialog.run() if response==gtk.RESPONSE_OK: self.__load_csv(dialog.get_filename()) pass dialog.destroy() if data=='save': dialog=gtk.FileChooserDialog('Сохранить',None,gtk.FILE_CHOOSER_ACTION_SAVE,(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OK,gtk.RESPONSE_OK)) dialog.set_default_response(gtk.RESPONSE_OK) filter=gtk.FileFilter() filter.set_name('Список товаров') filter.add_pattern('*.csv') dialog.add_filter(filter) response=dialog.run() if response==gtk.RESPONSE_OK: self.__save_cvs(dialog.get_filename()) pass dialog.destroy() if data=='sendcale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for l in self.lst: #tigerlib.setPLU_207(plu,barcode,name_plu,price,tax,tarenum,fixscale=0,group=0,flg=0,timegod=499,timesale=499,misctext=0,modestr=1) tigerlib.setPLU_207(l[0],l[1],l[2],l[4],0,0,timesale=l[5],timegod=l[6],misctext=l[7],modesocket=tigerlib.MULTIOPERATION,modestr=glu.getKey('Number line '+str(ci+1))) tigerlib.closesocket() pass if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.lst.clear() glu.pludata=[] for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange (1,2000): rt=tigerlib.getPLU_207(i,tigerlib.MULTIOPERATION) self.lst.append([int(rt[0]),rt[1],rt[2],0,float(rt[3]),int(rt[4]),int(rt[5]),int(rt[10])]) glu.pludata.append([int(rt[0]),rt[1],rt[2],0,float(rt[3]),int(rt[4]),int(rt[5]),int(rt[10])]) #time.sleep(1) pass tigerlib.closesocket() pass if data=='new': #plu=NewPlu() #plu.set_default_response(gtk.RESPONSE_OK) #response=plu.run() self.lst.append(None) pass if data=='del': pass pass
def __refresh(self): self.lst.clear() for i in xrange(glu.getKey('Count Scale')): #print type(glu.getKey('Scale use '+str(i+1))) self.lst.append([int(glu.getKey('Num '+str(i+1))),glu.getKey('Name Scale '+str(i+1)),glu.getKey('IP '+str(i+1)),glu.getKey('Scale use '+str(i+1)),int(glu.getKey('Number line '+str(i+1)))])
def __refresh(self): self.lstbar.clear() for i in xrange(1,9): if glu.testKey('BarMask Num '+str(i)): self.lstbar.append([glu.getKey('BarMask Num '+str(i)),glu.getKey('BarMask '+str(i))])
class SetPerson(gtk.Frame): ''' Продавцы ''' def __clear_text(self): for i in xrange(1,99): if glu.testKey('Pers Num '+str(i)): glu.delKey('Pers Num '+str(i)) glu.delKey('Pers Text '+str(i)) def __on_click(self,widget,data=None): if data=='resivescale': selscale=sysfrm.SelectScale(1) selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.__clear_text() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,99): try : num,txt=tigerlib.getSellers_204(i,modesocket=tigerlib.MULTIOPERATION) glu.setKey('Pers Num '+str(num),num) glu.setKey('Pers Text '+str(num),txt) except Exception,ecx : print 'поймали ',ecx continue #time.sleep(1) tigerlib.closesocket() self.__refresh() if data=='sendcale': selscale=sysfrm.SelectScale() selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,99): if glu.testKey('Pers Text '+str(i)): tigerlib.setSellers_204(int(glu.getKey('Pers Num '+str(i))),glu.getKey('Pers Text '+str(i)),modesocket=tigerlib.MULTIOPERATION) #time.sleep(1) tigerlib.closesocket() if data=='new' : if len(self.num.get_text())!=0: ic=len(self.lst) ic +=1 glu.setKey('Pers Num '+str(ic),self.num.get_text()) glu.setKey('Pers Text '+str(ic),self.mes.get_text()) self.__refresh() if data=='del': if len(self.num.get_text())!=0: glu.delKey('Pers Num '+self.num.get_text()) glu.delKey('Pers Text '+self.num.get_text()) self.num.set_text('') self.mes.set_text('') self.__refresh() pass
def __on_click(self,widget,data=None): if data=='new': if len(self.mes.get_text())!=0: glu.setKey('Dop Num '+self.num.get_text(),int(self.num.get_text())) glu.setKey('Dop Text '+self.num.get_text(),self.mes.get_text()) self.__refresh() pass pass if data=='del': if len(self.num.get_text())!=0: glu.delKey('Dop Num '+self.num.get_text()) glu.delKey('Dop Text '+self.num.get_text()) self.num.set_text('') self.mes.set_text('') self.__refresh() if data=='resivescale': selscale=sysfrm.SelectScale(1,title='прием') selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False self.__clear_text() for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,2000): try : num,txt=tigerlib.getMoreText_209(i,tigerlib.MULTIOPERATION) glu.setKey('Dop Num '+str(num),num) glu.setKey('Dop Text '+str(num),txt) except : print 'поймали' continue #time.sleep(1) tigerlib.closesocket() self.__refresh() if data=='sendcale': selscale=sysfrm.SelectScale(title='передача') selscale.run() if selscale.ok_flg : selscale.destroy() else : selscale.destroy() return False for ci in xrange(glu.getKey('Count Scale')): if glu.testKey('Exchange scale '+str(ci+1)): if glu.getKey('Exchange scale '+str(ci+1)): tigerlib.address=glu.getKey('IP '+str(ci+1)) tigerlib.opensocket() for i in xrange(1,2000): if glu.testKey('Dop Text '+str(i)): tigerlib.setMoreText_209(int(glu.getKey('Dop Num '+str(i))),glu.getKey('Dop Text '+str(i)),tigerlib.MULTIOPERATION) #time.sleep(1) pass tigerlib.closesocket() pass pass