コード例 #1
0
ファイル: skytube.py プロジェクト: gollum23/SkyTube
    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()
コード例 #2
0
ファイル: skytube.py プロジェクト: gollum23/SkyTube
    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()
コード例 #3
0
#!/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("------------------------")
コード例 #4
0
ファイル: skytube.py プロジェクト: gollum23/SkyTube
    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))
コード例 #5
0
ファイル: skytube.py プロジェクト: gollum23/SkyTube
    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))