def on_submit(self, event, params, vars = None): if params[0] == "cad_banda": if vars.getvalue('action','') == 'cadastrar_banda': a = vars.list[2] if vars.getvalue('interface') == '' or vars.getvalue('banda') == '' or a.value == '': self._editing = 'error_cadastrar_banda' else: config = ContrBanda() config.setConfigFile(vars.getvalue('interface'),vars.getvalue('banda'),a.value) config.setConfiguracoes() del config self._editing = None elif params[0] == "cad_ip": if vars.getvalue('action','') == 'cadastrar_ip': if vars.getvalue('ip') == '' or vars.getvalue('mascara') == '' or vars.getvalue('banda_pc') == '' or vars.getvalue('') == 'id_pc' or vars.list[-2].value == '': self._editing = 'error_cadastrar_filtro' else: ip = '%s'%vars.getvalue('ip') mascara = '%s' %vars.getvalue('mascara') banda = '%s'%vars.getvalue('banda_pc') medida = '%s'%vars.list[-2].value id_pc = '%s' %vars.getvalue('id_pc') aux = ContrBanda() if aux.addFiltroFile(ip,mascara,banda,id_pc,medida): aux.addFiltro(ip=ip) self.errorFiltro = False else: self.errorFiltro = True self._editing = 'error_cadastrar_filtro' del aux
def on_click(self, event, params, vars = None): if params[0] == 'edit': self._editing = int(params[1]) # selected host elif params[0] == 'del': config = ContrBanda() config.delFiltro(ip=params[1],ALL=True) del config elif params[0] == 'apagar_conf': config = ContrBanda() config.delConfiguracoes() del config elif params[0] == 'apagar_filtros': config = ContrBanda() if not config.delFiltro(): self._editing = 'error_apagar_todos_filtros' del config
def read(self): config = ContrBanda() return config.getFiltrosFile()
def get_ui(self): config = ContrBanda() confBanda = config.getConfigFile() # testando se a alguma configuracao de banda if confBanda.get('interface') == None or confBanda.get('medida') == None or confBanda.get('banda') == None: ui = self.app.inflate('controle_banda:cad_banda') lista = ui.find('interface') for i in self.getInterface(): lista.append( UI.SelectOption(value=i,text=i) ) # caso tenha uma banda já configurada segue adiante com opcoes de redefinir o controle de banda e cadastrar novos filtros etc else: ui = self.app.inflate('controle_banda:main') lista = ui.find('interface') ui.find('banda').set('value',confBanda.get('banda')) # mostrando a quantidade de banda que esta configurada med = ui.find('tipo_medida') if confBanda.get('medida') == 'MBytes': med.append( UI.TipIcon( icon='/dl/core/ui/stock/info.png', text='Quantidade de banda em MBytes', ) ) else: med.append( UI.TipIcon( icon='/dl/core/ui/stock/info.png', text='Quantidade de banda em KBytes', ) ) mascaras = ui.find('mascara') for i in range(33): mascaras.append( UI.SelectOption(value=int(32 - i),text=int(32 - i)) ) # imprimindo interfaces que podem ser definidas for i in self.getInterface(): if i == confBanda.get('interface'): lista.append( UI.SelectOption(value=i,text=i,selected=True) ) # imprimindo os filtros cadastrados se tiverem t = ui.find('list') if self.hosts == []: t.append(UI.DTR(UI.DTH(UI.Label(text="Nenhum filtro encontrado...")))) else: for h in self.hosts: t.append(UI.DTR( UI.Label(text=h.ip+'/'+h.mascara), UI.Label(text=(h.banda+' '+h.medida)), UI.Label(text=h.nome), UI.HContainer( UI.TipIcon( icon='/dl/core/ui/stock/delete.png', id='del/'+str(h.ip), text='Remover filtro', ) ), )) if self._editing is not None: # caso o usuario tente cadastrar uma banda sem passar nenhum parametro if self._editing == 'error_cadastrar_banda': e = ui.find('error') e.append(UI.Label(text="Todos os campos tem que ser preenchidos !!!",size=3)) # trata o erro quando o usuario tenta exluir todos os filtros sendo que nao a nenhum a ser excluido elif self._editing == 'error_apagar_todos_filtros': e = ui.find('error') e.append( UI.Label(text='Não a nenhum filtro a ser apagado...') ) self._editing = None # caso haja algum erro no cadastro de filtros elif self._editing == 'error_cadastrar_filtro': if self.errorFiltro: e = self.app.inflate('controle_banda:msgerro') e.find('msg').set('text','Filtro já cadastrado !') ui.append('error',e) self._editing = None else: e = self.app.inflate('controle_banda:msgerro') e.find('msg').set('text','Todos os campos tem que ser preenchidos !') ui.append('error',e) self._editing = None else: try: h = self.hosts[self._editing] except: h = backend.Host() d = self.app.inflate('controle_banda:edit') # inflate and fill the dialog d.find('ip').set('value', h.ip) masc = d.find('mascara') for i in range(33): if str(h.mascara) == str(32-i): masc.append( UI.SelectOption(value=int(32 - i),text=int(32 - i),selected=True ) ) else: masc.append( UI.SelectOption(value=int(32 - i),text=int(32 - i)) ) d.find('banda').set('value', h.banda) med = d.find('medida') for i in ['Mbits','Kbits']: if h.medida == i: med.append( UI.SelectOption(value=i,text=i, selected=True) ) else: med.append( UI.SelectOption(value=i,text=i) ) d.find('id_pc').set('value', h.id_pc) ui.append('lista_de_ips', d) # and append it to main UI return ui
def get_ui(self): config = ContrBanda() confBanda = config.getConfigFile() # testando se a alguma configuracao de banda if confBanda.get('interface') == None or confBanda.get( 'medida') == None or confBanda.get('banda') == None: ui = self.app.inflate('controle_banda:cad_banda') lista = ui.find('interface') for i in self.getInterface(): lista.append(UI.SelectOption(value=i, text=i)) # caso tenha uma banda já configurada segue adiante com opcoes de redefinir o controle de banda e cadastrar novos filtros etc else: ui = self.app.inflate('controle_banda:main') lista = ui.find('interface') ui.find('banda').set( 'value', confBanda.get('banda') ) # mostrando a quantidade de banda que esta configurada med = ui.find('tipo_medida') if confBanda.get('medida') == 'MBytes': med.append( UI.TipIcon( icon='/dl/core/ui/stock/info.png', text='Quantidade de banda em MBytes', )) else: med.append( UI.TipIcon( icon='/dl/core/ui/stock/info.png', text='Quantidade de banda em KBytes', )) mascaras = ui.find('mascara') for i in range(33): mascaras.append( UI.SelectOption(value=int(32 - i), text=int(32 - i))) # imprimindo interfaces que podem ser definidas for i in self.getInterface(): if i == confBanda.get('interface'): lista.append( UI.SelectOption(value=i, text=i, selected=True)) # imprimindo os filtros cadastrados se tiverem t = ui.find('list') if self.hosts == []: t.append( UI.DTR(UI.DTH( UI.Label(text="Nenhum filtro encontrado...")))) else: for h in self.hosts: t.append( UI.DTR( UI.Label(text=h.ip + '/' + h.mascara), UI.Label(text=(h.banda + ' ' + h.medida)), UI.Label(text=h.nome), UI.HContainer( UI.TipIcon( icon='/dl/core/ui/stock/delete.png', id='del/' + str(h.ip), text='Remover filtro', )), )) if self._editing is not None: # caso o usuario tente cadastrar uma banda sem passar nenhum parametro if self._editing == 'error_cadastrar_banda': e = ui.find('error') e.append( UI.Label( text="Todos os campos tem que ser preenchidos !!!", size=3)) # trata o erro quando o usuario tenta exluir todos os filtros sendo que nao a nenhum a ser excluido elif self._editing == 'error_apagar_todos_filtros': e = ui.find('error') e.append(UI.Label(text='Não a nenhum filtro a ser apagado...')) self._editing = None # caso haja algum erro no cadastro de filtros elif self._editing == 'error_cadastrar_filtro': if self.errorFiltro: e = self.app.inflate('controle_banda:msgerro') e.find('msg').set('text', 'Filtro já cadastrado !') ui.append('error', e) self._editing = None else: e = self.app.inflate('controle_banda:msgerro') e.find('msg').set( 'text', 'Todos os campos tem que ser preenchidos !') ui.append('error', e) self._editing = None else: try: h = self.hosts[self._editing] except: h = backend.Host() d = self.app.inflate( 'controle_banda:edit') # inflate and fill the dialog d.find('ip').set('value', h.ip) masc = d.find('mascara') for i in range(33): if str(h.mascara) == str(32 - i): masc.append( UI.SelectOption(value=int(32 - i), text=int(32 - i), selected=True)) else: masc.append( UI.SelectOption(value=int(32 - i), text=int(32 - i))) d.find('banda').set('value', h.banda) med = d.find('medida') for i in ['Mbits', 'Kbits']: if h.medida == i: med.append( UI.SelectOption(value=i, text=i, selected=True)) else: med.append(UI.SelectOption(value=i, text=i)) d.find('id_pc').set('value', h.id_pc) ui.append('lista_de_ips', d) # and append it to main UI return ui
def on_submit(self, event, params, vars=None): if params[0] == "cad_banda": if vars.getvalue('action', '') == 'cadastrar_banda': a = vars.list[2] if vars.getvalue('interface') == '' or vars.getvalue( 'banda') == '' or a.value == '': self._editing = 'error_cadastrar_banda' else: config = ContrBanda() config.setConfigFile(vars.getvalue('interface'), vars.getvalue('banda'), a.value) config.setConfiguracoes() del config self._editing = None elif params[0] == "cad_ip": if vars.getvalue('action', '') == 'cadastrar_ip': if vars.getvalue('ip') == '' or vars.getvalue( 'mascara') == '' or vars.getvalue( 'banda_pc') == '' or vars.getvalue( '') == 'id_pc' or vars.list[-2].value == '': self._editing = 'error_cadastrar_filtro' else: ip = '%s' % vars.getvalue('ip') mascara = '%s' % vars.getvalue('mascara') banda = '%s' % vars.getvalue('banda_pc') medida = '%s' % vars.list[-2].value id_pc = '%s' % vars.getvalue('id_pc') aux = ContrBanda() if aux.addFiltroFile(ip, mascara, banda, id_pc, medida): aux.addFiltro(ip=ip) self.errorFiltro = False else: self.errorFiltro = True self._editing = 'error_cadastrar_filtro' del aux
def on_click(self, event, params, vars=None): if params[0] == 'edit': self._editing = int(params[1]) # selected host elif params[0] == 'del': config = ContrBanda() config.delFiltro(ip=params[1], ALL=True) del config elif params[0] == 'apagar_conf': config = ContrBanda() config.delConfiguracoes() del config elif params[0] == 'apagar_filtros': config = ContrBanda() if not config.delFiltro(): self._editing = 'error_apagar_todos_filtros' del config