def valida_lista(self): try: self.vskytube.groupBox.setVisible(False) self.vskytube.lbl_imagen.setText('sin imagen') if os.path.isfile( os.path.dirname(sys.executable) + '\\skytube.jpg'): os.remove(os.path.dirname(sys.executable) + '\\skytube.jpg') if os.path.isfile('/tmp/skytube.jpg'): os.remove('/tmp/skytube.jpg') item = self.vskytube.lst_encola.currentItem() url = item.text() video = Pafy(url) best = video.getbest(preftype=self.formato()) if self.formato() == 'mp3': self.vskytube.lbl_calidad.setText(' Extencion: mp3') else: self.vskytube.lbl_calidad.setText(best.resolution + ' Extencion: ' + best.extension) self.vskytube.groupBox.setTitle(video.title) self.vskytube.lbl_autor.setText(video.author) self.vskytube.lbl_duracion.setText(video.duration) self.vskytube.lbl_id.setText(video.videoid) self.vskytube.lbl_rating.setText(str(video.rating)) self.vskytube.lbl_visto.setText(str(video.viewcount)) self.vskytube.btn_valida_2.setVisible(False) url = video.thumb if 'win32' in self.sistema() or 'win64' in self.sistema(): file = ('skytube.jpg') if 'linux' in self.sistema(): file = ('/tmp/skytube.jpg') if 'darwin' in self.sistema(): file = ('skytube.jpg') urllib.request.urlretrieve(url, file) if 'win32' in self.sistema() or 'win64' in self.sistema(): img = (os.path.dirname(sys.executable) + '\skytube.jpg') if 'linux' in self.sistema(): img = ('/tmp/skytube.jpg') if 'darwin' in self.sistema(): img = ('/skytube.jpg') self.vskytube.lbl_imagen.setPixmap(QtGui.QPixmap(img)) self.vskytube.groupBox.setVisible(True) except Exception as e: self.vskytube.groupBox.setVisible(False) QtGui.QMessageBox.about( self, 'Error en Link ', 'El Link : ' + item.text() + ' No existe..\n Se eliminara de la lista..' + str(e)) self.elimina_item()
def add(self): try: video_id = self.vskytube.lineEdit.text() if len(video_id) == 11: url = 'http://www.youtube.com/watch?v=' + video_id elif len(str(video_id).split('?v=')) == 2: video_id = video_id.split('?v=') else: self.setclipboard() self.vskytube.lineEdit.clear() QtGui.QMessageBox.about(self, 'Alerta Link! ', 'Link No valido!') return if len(video_id) == 2: url = 'http://www.youtube.com/watch?v=' + video_id[1] else: url = 'http://www.youtube.com/watch?v=' + video_id items = [] for index in range(self.vskytube.lst_encola.count()): items.append(self.vskytube.lst_encola.item(index).text()) existe = 'No' for i in items: if url == i: existe = 'Si' if existe == 'No': self.setclipboard() if Pafy(url): self.vskytube.lst_encola.addItem(url) self.vskytube.lineEdit.clear() else: self.vskytube.lineEdit.clear() self.setclipboard() QtGui.QMessageBox.about( self, 'Alerta Link! ', 'Este Link ya fue agregado a la lista!') except: self.vskytube.lineEdit.setText('Link No Valido') self.setclipboard()
#!/usr/bin/python from pafy import Pafy url = "http://www.youtube.com/watch?v=cyMHZVT91Dw" # create a video instance video = Pafy(url) # get certain attributes print("\n\n") print("Title, Rating, Length...") print("------------------------") print(video.title) print(video.rating) # out of 5 print(video.length) # seconds print("\n") # get video metadata print("Video meta info...") print("------------------") print(video) print("\n") # show all formats for a video: print("All available formats...") print("------------------------")
def valida(self): try: self.oculta() self.vskytube.groupBox.setVisible(False) self.resize(585, 121) self.vskytube.lbl_imagen.setText('sin imagen') if os.path.isfile( os.path.dirname(sys.executable) + '\\skytube.jpg'): os.remove(os.path.dirname(sys.executable) + '\\skytube.jpg') if os.path.isfile('/tmp/skytube.jpg'): os.remove('/tmp/skytube.jpg') self.vskytube.groupBox.setVisible(True) video_id = self.vskytube.lineEdit.text() if len(video_id) == 11: url = 'http://www.youtube.com/watch?v=' + video_id if video_id.split('?v=') == 1: video_id = video_id.split('?v=') if len(video_id) == 1: global url url = 'http://www.youtube.com/watch?v=' + video_id[1] else: global url url = 'http://www.youtube.com/watch?v=' + video_id global video video = Pafy(url) best = video.getbest(preftype=self.formato()) if self.formato() == 'mp3': self.vskytube.lbl_calidad.setText(' Extencion: mp3') else: self.vskytube.lbl_calidad.setText(best.resolution + ' Extencion: ' + best.extension) self.vskytube.groupBox.setTitle(video.title) self.vskytube.lbl_autor.setText(video.author) self.vskytube.lbl_duracion.setText(video.duration) self.vskytube.lbl_id.setText(video.videoid) self.vskytube.lbl_rating.setText(str(video.rating)) self.vskytube.lbl_visto.setText(str(video.viewcount)) self.resize(579, 288) self.vskytube.btn_valida_2.setVisible(True) url_img = video.thumb if 'win32' in self.sistema() or 'win64' in self.sistema(): file = ('skytube.jpg') if 'linux' in self.sistema(): file = ('/tmp/skytube.jpg') if 'darwin' in self.sistema(): file = ('skytube.jpg') urllib.request.urlretrieve(url_img, file) if 'win32' in self.sistema() or 'win64' in self.sistema(): img = (os.path.dirname(sys.executable) + '\skytube.jpg') if 'linux' in self.sistema(): img = ('/tmp/skytube.jpg') if 'darwin' in self.sistema(): img = ('/skytube.jpg') self.vskytube.lbl_imagen.setPixmap(QtGui.QPixmap(img)) except Exception as e: QtGui.QMessageBox.about(self, 'Error SkyTube ', ' No existe el video favor de verificar.') QtGui.QMessageBox.about(self, 'Error SkyTube ', str(e))
def descarga(self): try: self.vskytube.p_bar.setMinimum(0) if 'win32' in self.sistema() or 'win64' in self.sistema(): if self.formato() == 'mp3': if os.path.isfile('ffmpeg.exe'): pass else: respuesta = QtGui.QMessageBox.question( self, 'Descarga Mp3 ', 'Necesitas ffmpeg para descargar MP3 \n' 'Quieres descargarlo? ', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if respuesta == QtGui.QMessageBox.Yes: self.formato_combo() else: return if 'darwin' in self.sistema(): if self.formato() == 'mp3': if os.path.isfile('ffmpeg'): pass else: respuesta = QtGui.QMessageBox.question( self, 'Descarga Mp3 ', 'Necesitas ffmpeg para descargar MP3 \n' 'Quieres descargarlo? ', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) if respuesta == QtGui.QMessageBox.Yes: self.formato_combo() else: return video = Pafy(url) if self.formato() == 'mp3': bestaudio = video.getbestaudio() size = bestaudio.get_filesize() titulo = bestaudio.title extension = bestaudio.extension desc = bestaudio.url else: stream = video.getbest(preftype=self.formato()) size = stream.get_filesize() titulo = stream.title extension = stream.extension desc = stream.url self.vskytube.lineEdit.setVisible(False) self.vskytube.btn_valida.setVisible(False) self.vskytube.label_7.setVisible(False) self.vskytube.btn_folder.setVisible(False) self.vskytube.treeView.setVisible(False) self.vskytube.btn_folder_2.setVisible(False) self.vskytube.lbl_perfil.setVisible(False) self.vskytube.groupBox.setVisible(False) self.vskytube.groupBox_2.setVisible(False) self.vskytube.btn_add.setVisible(False) self.vskytube.ck_lst_auto.setVisible(False) self.vskytube.ck_captura.setVisible(False) self.vskytube.lbl_desc.setStyleSheet("color:red;") self.vskytube.lbl_desc.setText('Descargando ...' + titulo) self.vskytube.lbl_desc.setVisible(True) self.vskytube.lbl_barr.setVisible(True) self.vskytube.p_bar.setVisible(True) self.resize(489, 82) QtGui.QMessageBox.about( self, 'Empezando Descarga ... ', 'La descarga puede tardar varios minutos, dependiendo de tu conexion ...' ) titulo = str(titulo).replace('.', '') titulo = str(titulo).replace('"', '') titulo = str(titulo).replace(':', '') titulo = str(titulo).replace('_', '') titulo = str(titulo).replace('-', '') titulo = str(titulo).replace(';', '') titulo = str(titulo).replace('|', '') titulo = str(titulo).replace("'", '') titulo = str(titulo).replace("+", '') titulo = str(titulo).replace("!", '') titulo = str(titulo).replace("/", '') titulo = str(titulo).replace("\\", '') titulo = str(titulo).replace("*", '') titulo = str(titulo).replace("#", '') titulo = str(titulo).replace("%", '') titulo = str(titulo).replace("&", '') titulo = str(titulo).replace("(", '') titulo = str(titulo).replace(")", '') titulo = str(titulo).replace("?", '') titulo = str(titulo).replace("¿", '') titulo = str(titulo).replace("¡", '') titulo = str(titulo).replace("[", '') titulo = str(titulo).replace("]", '') titulo = str(titulo).replace("{", '') titulo = str(titulo).replace("}", '') titulo = str(titulo).replace("=", '') titulo = str(titulo).replace("~", '') titulo = str(titulo).replace("<", '') titulo = str(titulo).replace(">", '') if 'win32' in self.sistema() or 'win64' in self.sistema(): filename = os.path.join( os.environ['USERPROFILE'], 'videos') + '\\' + titulo + '.' + extension else: filename = os.path.join( os.environ['HOME'], 'Movies') + '/' + titulo + '.' + extension urllib.request.urlretrieve(desc, filename, reporthook=self.funcionprogreso) if self.formato() == 'mp3': if 'win32' in self.sistema() or 'win64' in self.sistema(): m4a = os.path.join( os.environ['USERPROFILE'], 'videos') + '\\' + titulo + '.' + extension mp3 = os.path.join(os.environ['USERPROFILE'], 'videos') + '\\' + titulo + '.mp3' self.ejecutaExe('ffmpeg.exe -i \"%s\" -y \"%s\"' % (m4a, mp3)) os.remove(filename) if 'darwin' in self.sistema(): m4a = os.path.join( os.environ['HOME'], 'Movies') + '/' + titulo + '.' + extension mp3 = os.path.join(os.environ['HOME'], 'Movies') + '/' + titulo + '.mp3' self.ejecutaExe('./ffmpeg -i \"%s\" -y \"%s\"' % (m4a, mp3)) os.remove(filename) self.setclipboard() self.vskytube.lineEdit.clear() QtGui.QMessageBox.about(self, 'Descarga Finalizada', ' Tu descarga Finalizo') self.crea_directorio() self.resize(880, 321) QtCore.QCoreApplication.processEvents() self.muestra() except Exception as e: QtGui.QMessageBox.about(self, 'Error Descarga', str(e))