Пример #1
0
	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.')]
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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.'))
Пример #5
0
 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
Пример #6
0
	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
Пример #7
0
 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
Пример #8
0
 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
Пример #9
0
    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.')
            ]
Пример #10
0
 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
Пример #11
0
    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.", []))
Пример #12
0
	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
Пример #13
0
    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
Пример #14
0
	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.", []))
Пример #15
0
	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
Пример #16
0
    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
Пример #17
0
	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.'))