コード例 #1
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))
コード例 #2
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))