Dev 1010211933:
Added pro search functionality
This commit is contained in:
@@ -489,6 +489,77 @@ class Ui_ProSearch(object):
|
|||||||
self.searchButton.setText(_translate("MainWindow", "Search"))
|
self.searchButton.setText(_translate("MainWindow", "Search"))
|
||||||
self.pushButton.setText(_translate("MainWindow", "Add selected"))
|
self.pushButton.setText(_translate("MainWindow", "Add selected"))
|
||||||
|
|
||||||
|
def searchinYT(self):
|
||||||
|
global results
|
||||||
|
search = self.lineEdit.text()
|
||||||
|
results = YoutubeSearch(search, max_results=150).to_dict()
|
||||||
|
|
||||||
|
self.listWidget.clear()
|
||||||
|
|
||||||
|
for i in range(len(results)):
|
||||||
|
item = QtWidgets.QListWidgetItem(results[i]["channel"] + ": " + results[i]["title"])
|
||||||
|
item.setCheckState(QtCore.Qt.Unchecked)
|
||||||
|
self.listWidget.addItem(item)
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
|
def addtopl(self):
|
||||||
|
global results
|
||||||
|
global playlist
|
||||||
|
whichres = list()
|
||||||
|
for index in range(self.listWidget.count()):
|
||||||
|
if self.listWidget.item(index).checkState() == QtCore.Qt.Checked:
|
||||||
|
whichres.append(index)
|
||||||
|
|
||||||
|
for i in whichres:
|
||||||
|
i = int(i)
|
||||||
|
url = "https://www.youtube.com" + results[i]["url_suffix"]
|
||||||
|
willbesong = {}
|
||||||
|
willbesong['name'] = results[i]["title"]
|
||||||
|
willbesong['author'] = results[i]["channel"]
|
||||||
|
willbesong['url'] = url
|
||||||
|
playlist[str(len(list(playlist)))] = willbesong
|
||||||
|
|
||||||
|
playlistfile = open(ui.playlistsComboBox.currentText(), 'w+')
|
||||||
|
json.dump(playlist, playlistfile, indent=3, ensure_ascii=False)
|
||||||
|
playlistfile.close()
|
||||||
|
|
||||||
|
getplaylist()
|
||||||
|
|
||||||
|
class Ui_ExtendedMenu(object):
|
||||||
|
def setupUi(self, MainWindow):
|
||||||
|
MainWindow.setObjectName("MainWindow")
|
||||||
|
MainWindow.resize(151, 74)
|
||||||
|
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||||
|
self.centralwidget.setObjectName("centralwidget")
|
||||||
|
self.prosearchButton = QtWidgets.QPushButton(self.centralwidget)
|
||||||
|
self.prosearchButton.setGeometry(QtCore.QRect(0, 0, 150, 50))
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.prosearchButton.sizePolicy().hasHeightForWidth())
|
||||||
|
self.prosearchButton.setSizePolicy(sizePolicy)
|
||||||
|
self.prosearchButton.setMaximumSize(QtCore.QSize(150, 50))
|
||||||
|
self.prosearchButton.setObjectName("prosearchButton")
|
||||||
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
|
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
||||||
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 151, 21))
|
||||||
|
self.menubar.setObjectName("menubar")
|
||||||
|
MainWindow.setMenuBar(self.menubar)
|
||||||
|
self.statusbar = QtWidgets.QStatusBar(MainWindow)
|
||||||
|
self.statusbar.setObjectName("statusbar")
|
||||||
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
|
|
||||||
|
self.retranslateUi(MainWindow)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
|
|
||||||
|
def retranslateUi(self, MainWindow):
|
||||||
|
_translate = QtCore.QCoreApplication.translate
|
||||||
|
MainWindow.setWindowTitle(_translate("MainWindow", "Extended functions"))
|
||||||
|
self.prosearchButton.setText(_translate("MainWindow", "Pro search"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class YoutubeSearch:
|
class YoutubeSearch:
|
||||||
def __init__(self, search_terms: str, max_results=None):
|
def __init__(self, search_terms: str, max_results=None):
|
||||||
self.search_terms = search_terms
|
self.search_terms = search_terms
|
||||||
@@ -668,6 +739,16 @@ MainWindowUpd = QtWidgets.QMainWindow()
|
|||||||
uiUpd = Ui_Updater()
|
uiUpd = Ui_Updater()
|
||||||
uiUpd.setupUi(MainWindowUpd)
|
uiUpd.setupUi(MainWindowUpd)
|
||||||
|
|
||||||
|
appExt = QtWidgets.QApplication(sys.argv)
|
||||||
|
MainWindowExt = QtWidgets.QMainWindow()
|
||||||
|
uiExt = Ui_ExtendedMenu()
|
||||||
|
uiExt.setupUi(MainWindowExt)
|
||||||
|
|
||||||
|
appPSearch = QtWidgets.QApplication(sys.argv)
|
||||||
|
MainWindowPSearch = QtWidgets.QMainWindow()
|
||||||
|
uiPSearch = Ui_ProSearch()
|
||||||
|
uiPSearch.setupUi(MainWindowPSearch)
|
||||||
|
|
||||||
def getplaylist():
|
def getplaylist():
|
||||||
global playlist
|
global playlist
|
||||||
global newindex
|
global newindex
|
||||||
@@ -779,6 +860,7 @@ ui.speedBox.valueChanged.connect(changespeed)
|
|||||||
ui.playlistSettingsButton.clicked.connect(MainWindowPlSet.show)
|
ui.playlistSettingsButton.clicked.connect(MainWindowPlSet.show)
|
||||||
ui.mixButton.clicked.connect(mixPlaylist)
|
ui.mixButton.clicked.connect(mixPlaylist)
|
||||||
ui.settingsButton.clicked.connect(MainWindowSet.show)
|
ui.settingsButton.clicked.connect(MainWindowSet.show)
|
||||||
|
ui.extendedFunctButton.clicked.connect(MainWindowExt.show)
|
||||||
|
|
||||||
uiPlSet.deletesongButton.clicked.connect(showMainWindowDelS)
|
uiPlSet.deletesongButton.clicked.connect(showMainWindowDelS)
|
||||||
|
|
||||||
@@ -788,4 +870,9 @@ uiSet.updateButton.clicked.connect(MainWindowUpd.show)
|
|||||||
|
|
||||||
uiUpd.updateButton.clicked.connect(updateAppPy)
|
uiUpd.updateButton.clicked.connect(updateAppPy)
|
||||||
|
|
||||||
|
uiExt.prosearchButton.clicked.connect(MainWindowPSearch.show)
|
||||||
|
|
||||||
|
uiPSearch.searchButton.clicked.connect(uiPSearch.searchinYT)
|
||||||
|
uiPSearch.pushButton.clicked.connect(uiPSearch.addtopl)
|
||||||
|
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
|||||||
Reference in New Issue
Block a user