def instalar_biblioteca(self): caminho_bibliotecas = os.path.join(get_caminho_padrao(), "bibliotecas") dialogo = QFileDialog() dialogo.setWindowTitle("Escolher biblioteca") dialogo.setLabelText(QFileDialog.FileName, "Arquivo:") dialogo.setLabelText(QFileDialog.LookIn, "Buscar em:") dialogo.setLabelText(QFileDialog.FileType, "Tipo de arquivo:") dialogo.setLabelText(QFileDialog.Accept, "Escolher") dialogo.setLabelText(QFileDialog.Reject, "Cancelar") dialogo.setFileMode(QFileDialog.DirectoryOnly) dialogo.setDirectory(get_caminho_padrao()) if dialogo.exec_() == QFileDialog.Accepted: caminho = dialogo.selectedUrls()[0].path() if (caminho.startswith("/") and os.name == 'nt'): caminho = caminho[1:] # Testa se o arquivo existe if os.path.exists(caminho): try: shutil.copytree( caminho, os.path.join(caminho_bibliotecas, os.path.basename(caminho))) # Directories are the same except shutil.Error as e: print('Directory not copied. Error: %s' % e) # Any error saying that the directory doesn't exist except OSError as e: print('Directory not copied. Error: %s' % e) else: QMessageBox(QMessageBox.Warning, "Erro", "O arquivo não existe", QMessageBox.NoButton, self).show() else: return
def on_troca_placa_ou_porta(self): """ Troca a placa :return: None """ plataforma = self.get_plataforma_alvo() pastas_bibliotecas = list() # if plataforma: # core = self.get_preferencias_placa() pasta_plataforma = plataforma.get_pasta() pastas_bibliotecas.append(os.path.join(pasta_plataforma, 'libraries')) pastas_bibliotecas.append(os.path.join(get_caminho_padrao(), 'bibliotecas'))
def criar_dialogo_arquivo(titulo, acao): """ Cria dialogo personalizado para buscar arquivos :param titulo: Titulo de aba :param acao: Texto do botao de selecionar :return dialogo: dialogo """ dialogo = QFileDialog() dialogo.setWindowTitle(titulo) dialogo.setLabelText(QFileDialog.FileName, "Arquivo:") dialogo.setLabelText(QFileDialog.LookIn, "Buscar em:") dialogo.setLabelText(QFileDialog.FileType, "Tipo de arquivo:") dialogo.setLabelText(QFileDialog.Accept, acao) dialogo.setLabelText(QFileDialog.Reject, "Cancelar") dialogo.setNameFilters(["Rascunhos Br.ino (*.brpp)", "Rascunhos Arduino (*.ino)"]) dialogo.selectNameFilter("Rascunhos Br.ino (*.brpp)") dialogo.setDirectory(get_caminho_padrao()) return dialogo