def compat(self, info): """Executa o teste de compatibilidade como definido na RFQ15.B.' Parâmetro: info -- Lista contendo as informções detectadas para o modem (lista de 'InfoResModem') Retorna uma lista contendo o resultado do teste e uma string de mensagem para cada dispositivo. """ minicomScriptFile = "libs/modem/script.minicom" minicomOutputFile = "/var/tmp/ldc_minicom_output" i, o_str, e_str, retCode = exec_command('ls /dev/modem') if (retCode == 0 and o_str.__contains__('/dev/modem')): cmd = 'minicom /dev/modem -S %s -C %s' % (minicomScriptFile, minicomOutputFile) i, o_str, e_str, retCode = exec_command(cmd) minicomOutputList = self.__processMinicomOutput(minicomOutputFile) minicomResult = True for item in minicomOutputList: minicomResult = minicomResult and item['ok'] if (minicomResult): self._compat_res = [(True, u'Seu modem é compatível com o Librix.')] else: self._compat_res = [(False, u'Seu modem foi identificado porém não responde corretamente.')] i, o_str, e_str, retCode = exec_command('rm -Rf %s' % minicomOutputFile) else: self._compat_res = [(False, u'Não foi possível encontrar o dispositivo /dev/modem.')]
def _mount(self, device_file, part): """Monta o dispositivo passado como parâmetro. Retorna se o comando foi executado com sucesso Parâmetro: device_file -- string que determina o device file do dispositivo part -- string que indica o número da partiçã a ser desmontada """ result = True i, o_str, e_str, ret_code = exec_command('mkdir %s'%self._mount_path) i, o_str, e_str, ret_code = exec_command('mount %s%s %s'%(device_file, part, self._mount_path)) if e_str: result = False return result
def _mount(self, device_file, part): """Monta o dispositivo passado como parâmetro. Retorna se o comando foi executado com sucesso Parâmetro: device_file -- string que determina o device file do dispositivo part -- string que indica o número da partiçã a ser desmontada """ result = True i, o_str, e_str, ret_code = exec_command('mkdir %s' % self._mount_path) i, o_str, e_str, ret_code = exec_command( 'mount %s%s %s' % (device_file, part, self._mount_path)) if e_str: result = False return result
def compat(self, infoList): """Executa o teste de compatibilidade do dispositivo como definido no DTR.. Parametro: info_list -- Lista contendo as informacoes detectadas para o dispositivo. """ self._compat_res = [] for info in infoList: i, o_str, e_str, retCode = exec_command('ls %s' % info.deviceFile) if (retCode == 0 and o_str.__contains__(info.deviceFile)): result = self.parent.showCustomDialog(WebcamWizard, info)['result'] if (result == 0): self._compat_res.append( (True, u"Sua webcam é compatível com o Librix.")) elif (result == 1): self._compat_res.append(( False, u"Sua webcam não é compatível com o Librix ou não está corretamente configurada" )) elif (result == 2): self._compat_res.append( (False, u"O teste de compatibilidade foi interrompido.")) else: self._compat_res.append(( False, u"Resultado indefinido. Provavelmente algum erro ocorreu na execução do LDC." )) else: self._compat_res.append( (False, u'Nenhum dispositivo foi encontrado.'))
def _cp_test(self): """Copia o arquivo de teste para o dispositivo e depois dele para o HD e compara o checksum dos dois. Retorna se o teste de cópia foi executado com sucesso. """ hd_path_file = self._hd_path+'/'+self._file_name mount_path_file = self._mount_path + '/' + self._file_name result = False check_sum = self._gen_test_file() i, o_str, e_str, ret_code = exec_command('cp %s %s'%(hd_path_file, mount_path_file)) if not e_str: os.remove(hd_path_file) i, o_str, e_str, ret_code = exec_command('mv %s %s'%(mount_path_file, hd_path_file)) if not e_str: new_check_sum = self._get_checksum() if check_sum == new_check_sum: result = True return result
def __get_free_mem(self, format=" "): """Método que retorna o tamanho da memória livre em string""" i, o_str, e_str, ret_code = exec_command("/usr/bin/free "+str(format)) lines_cmd_free = (str(o_str)).splitlines() line_2_elem = lines_cmd_free[1].split() result_list = [element for element in line_2_elem if element != ""] free_mem = result_list[3] return free_mem
def _getPdfViewer(self): """Método que ir[a retornar o programa de pdf que será usado para visualizar o relatório""" result = "" for viewer in self._pdfViewers: i, o_str, e_str, retCode = exec_command("which %s" % viewer) if o_str and not e_str: result = viewer break return result
def __get_free_mem(self, format=" "): """Método que retorna o tamanho da memória livre em string""" i, o_str, e_str, ret_code = exec_command("/usr/bin/free " + str(format)) lines_cmd_free = (str(o_str)).splitlines() line_2_elem = lines_cmd_free[1].split() result_list = [element for element in line_2_elem if element != ""] free_mem = result_list[3] return free_mem
def compat(self, info): """Executa o teste de compatibilidade como definido na RFQ15.B.' Parâmetro: info -- Lista contendo as informções detectadas para o modem (lista de 'InfoResModem') Retorna uma lista contendo o resultado do teste e uma string de mensagem para cada dispositivo. """ minicomScriptFile = "libs/modem/script.minicom" minicomOutputFile = "/var/tmp/ldc_minicom_output" i, o_str, e_str, retCode = exec_command('ls /dev/modem') if (retCode == 0 and o_str.__contains__('/dev/modem')): cmd = 'minicom /dev/modem -S %s -C %s' % (minicomScriptFile, minicomOutputFile) i, o_str, e_str, retCode = exec_command(cmd) minicomOutputList = self.__processMinicomOutput(minicomOutputFile) minicomResult = True for item in minicomOutputList: minicomResult = minicomResult and item['ok'] if (minicomResult): self._compat_res = [(True, u'Seu modem é compatível com o Librix.')] else: self._compat_res = [( False, u'Seu modem foi identificado porém não responde corretamente.' )] i, o_str, e_str, retCode = exec_command('rm -Rf %s' % minicomOutputFile) else: self._compat_res = [ (False, u'Não foi possível encontrar o dispositivo /dev/modem.') ]
def _cp_test(self): """Copia o arquivo de teste para o dispositivo e depois dele para o HD e compara o checksum dos dois. Retorna se o teste de cópia foi executado com sucesso. """ hd_path_file = self._hd_path + '/' + self._file_name mount_path_file = self._mount_path + '/' + self._file_name result = False check_sum = self._gen_test_file() i, o_str, e_str, ret_code = exec_command( 'cp %s %s' % (hd_path_file, mount_path_file)) if not e_str: os.remove(hd_path_file) i, o_str, e_str, ret_code = exec_command( 'mv %s %s' % (mount_path_file, hd_path_file)) if not e_str: new_check_sum = self._get_checksum() if check_sum == new_check_sum: result = True return result
def compat(self, info): """Executa o teste de compatibilidade do dispositivo como definido no DTR.. Parametro: info_list -- Lista contendo as informacoes detectadas para o dispositivo. """ status = -1 if info and not (info[0].deviceFile == ""): device = info[0].deviceFile cmd = "iwlist %s scanning | grep ESSID" % device i, o_str, e_str, returncode = exec_command(cmd) iwlist = returncode #print "DEBUG:", 'iwlist ' + str(iwlist) wlan_list = [] if iwlist == 0: wlan_in_range_list = o_str.split('\n') for wlan in wlan_in_range_list: wlan = wlan.strip() wlan = wlan.strip("ESSID:") wlan = wlan.strip("\"") wlan_list.append(wlan) i, o_str, e_str, returncode = exec_command("ifconfig %s" % device) status = returncode self._compat_res = [] if (status == 0): self._compat_res.append( (True, u"Seu adaptador wireless foi reconhecido corretamente.", wlan_list)) else: self._compat_res.append(( False, u"Seu adaptador wireless não foi corretamente reconhecido.", [])) else: self._compat_res = [] self._compat_res.append( (False, u"Nenhum adaptador wireless foi identificado.", []))
def __run_mem_tester(self,size="",num_times=10): """Método que executa o memtester com os dados passados como parâmetros. Parâmetros: size -- tamanho da memória livre em que será executado o teste. O default é vazio num_times -- números de repetições que será executado o teste, o default é 10. """ size_int = int(size) if size_int > 10: #Diminuindo o tamanho para ser mais rápido o teste size = "10" i, o_str, e_str, ret_code = exec_command("memtester %s %s" % (size, num_times)) return o_str, e_str
def __run_mem_tester(self, size="", num_times=10): """Método que executa o memtester com os dados passados como parâmetros. Parâmetros: size -- tamanho da memória livre em que será executado o teste. O default é vazio num_times -- números de repetições que será executado o teste, o default é 10. """ size_int = int(size) if size_int > 10: #Diminuindo o tamanho para ser mais rápido o teste size = "10" i, o_str, e_str, ret_code = exec_command("memtester %s %s" % (size, num_times)) return o_str, e_str
def compat(self, info): """Executa o teste de compatibilidade do dispositivo como definido no DTR.. Parametro: info_list -- Lista contendo as informacoes detectadas para o dispositivo. """ status = -1 if info and not (info[0].deviceFile == ""): device = info[0].deviceFile cmd = "iwlist %s scanning | grep ESSID" % device i, o_str, e_str, returncode = exec_command(cmd) iwlist = returncode #print "DEBUG:", 'iwlist ' + str(iwlist) wlan_list = [] if iwlist == 0: wlan_in_range_list = o_str.split('\n') for wlan in wlan_in_range_list: wlan = wlan.strip() wlan = wlan.strip("ESSID:") wlan = wlan.strip("\"") wlan_list.append(wlan) i, o_str, e_str, returncode = exec_command("ifconfig %s" % device) status = returncode self._compat_res = [] if (status == 0): self._compat_res.append((True, u"Seu adaptador wireless foi reconhecido corretamente.", wlan_list)) else: self._compat_res.append((False, u"Seu adaptador wireless não foi corretamente reconhecido.", [])) else: self._compat_res = [] self._compat_res.append((False, u"Nenhum adaptador wireless foi identificado.", []))
def __get_devices_names(self, list_classes_device): """Método auxiliar que retorna uma lista com os nomes dos dispositivos. Parâmetro: list_classes_device -- lista contendo os tipos de dispositivos que serão procurados. """ devices_names_list = [] i, o_str, e_str, ret_code = exec_command("lspci -vmm") list_result = o_str.split('\n\n') for dev_result in list_result: if [dev_result for dev_class in list_classes_device if dev_class in dev_result]: list_dev = dev_result.splitlines() for tuple in list_dev: if tuple.startswith('Device:'): devices_names_list.append(tuple.split('\t')[1]) return devices_names_list
def __get_devices_names(self, list_classes_device): """Método auxiliar que retorna uma lista com os nomes dos dispositivos. Parâmetro: list_classes_device -- lista contendo os tipos de dispositivos que serão procurados. """ devices_names_list = [] i, o_str, e_str, ret_code = exec_command("lspci -vmm") list_result = o_str.split("\n\n") for dev_result in list_result: if [dev_result for dev_class in list_classes_device if dev_class in dev_result]: list_dev = dev_result.splitlines() for tuple in list_dev: if tuple.startswith("Device:"): devices_names_list.append(tuple.split("\t")[1]) return devices_names_list
def compat(self, infoList): """Executa o teste de compatibilidade do dispositivo como definido no DTR.. Parametro: info_list -- Lista contendo as informacoes detectadas para o dispositivo. """ self._compat_res = [] for info in infoList: i, o_str, e_str, retCode = exec_command('ls %s' % info.deviceFile) if (retCode == 0 and o_str.__contains__(info.deviceFile)): result = self.parent.showCustomDialog(WebcamWizard, info)['result'] if (result == 0): self._compat_res.append((True, u"Sua webcam é compatível com o Librix.")) elif (result == 1): self._compat_res.append((False, u"Sua webcam não é compatível com o Librix ou não está corretamente configurada")) elif (result == 2): self._compat_res.append((False, u"O teste de compatibilidade foi interrompido.")) else: self._compat_res.append((False, u"Resultado indefinido. Provavelmente algum erro ocorreu na execução do LDC.")) else: self._compat_res.append((False, u'Nenhum dispositivo foi encontrado.'))