-
Notifications
You must be signed in to change notification settings - Fork 0
/
run.py
62 lines (51 loc) · 1.8 KB
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from multiprocessing import Process, cpu_count
import time
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic
import sys
from os.path import expanduser
from yt_dl import *
class UI(QMainWindow, YT_Downloader):
def __init__(self):
super(UI, self).__init__()
uic.loadUi('gui.ui', self)
self.setWindowIcon(QtGui.QIcon('logo.png'))
self.youtube_dl = YT_Downloader()
self.directory = ""
self.show()
def chooseDirectory(self):
self.directory = QtWidgets.QFileDialog.getExistingDirectory(
self,
"Open a folder",
expanduser("~"),
QtWidgets.QFileDialog.ShowDirsOnly
)
self.directoryText.setText(self.directory)
def downloadFile(self):
self.message.setText("Downloading File")
self.message.setAlignment(QtCore.Qt.AlignCenter)
url = self.urlText.toPlainText()
path = self.directory + "/"
format = self.formatSelect.currentText()
print(format)
try:
if format == "mp3":
self.youtube_dl.download_mp3(url, path)
elif format == "mp4":
self.youtube_dl.download_mp4(url, path)
elif format == "aac":
self.youtube_dl.download_aac(url, path)
elif format == "webm":
self.youtube_dl.download_webm(url, path)
elif format == "ogg":
self.youtube_dl.download_ogg(url, path)
elif format == "m4a":
self.youtube_dl.download_m4a(url, path)
except:
print("Error downloading file")
finally:
self.message.setText("Download Complete")
app = QApplication(sys.argv)
UIWindow = UI()
app.exec_()