summaryrefslogtreecommitdiff
path: root/nephilim/plugins/Lyrics.py
diff options
context:
space:
mode:
Diffstat (limited to 'nephilim/plugins/Lyrics.py')
-rw-r--r--nephilim/plugins/Lyrics.py55
1 files changed, 31 insertions, 24 deletions
diff --git a/nephilim/plugins/Lyrics.py b/nephilim/plugins/Lyrics.py
index 35bb477..b569094 100644
--- a/nephilim/plugins/Lyrics.py
+++ b/nephilim/plugins/Lyrics.py
@@ -15,7 +15,7 @@
# along with Nephilim. If not, see <http://www.gnu.org/licenses/>.
#
-from PyQt4 import QtGui, QtCore, QtNetwork
+from PyQt5 import QtGui, QtWidgets, QtCore, QtNetwork
import os
import re
@@ -25,7 +25,7 @@ from ..plugin import Plugin
from .. import common, metadata_fetcher
from .. import icons
-class LyricsWidget(QtGui.QWidget):
+class LyricsWidget(QtWidgets.QWidget):
#public
lyrics_loaded = None
@@ -40,20 +40,20 @@ class LyricsWidget(QtGui.QWidget):
#### private
def __init__(self, plugin):
- QtGui.QWidget.__init__(self)
+ QtWidgets.QWidget.__init__(self)
self.plugin = plugin
self.logger = plugin.logger
self.curLyrics = ''
- self.__label = QtGui.QLabel(self)
+ self.__label = QtWidgets.QLabel(self)
self.__label.setWordWrap(True)
# add text area
- self.__text_view = QtGui.QTextEdit(self)
+ self.__text_view = QtWidgets.QTextEdit(self)
self.__text_view.setReadOnly(True)
# add toolbar
- self.__toolbar = QtGui.QToolBar('Lyrics toolbar', self)
+ self.__toolbar = QtWidgets.QToolBar('Lyrics toolbar', self)
self.__toolbar.setOrientation(QtCore.Qt.Vertical)
self.__toolbar.addAction(QtGui.QIcon(':icons/refresh.png'), 'Refresh lyrics', self.plugin.refresh)
@@ -64,9 +64,9 @@ class LyricsWidget(QtGui.QWidget):
self.__toolbar.addAction(QtGui.QIcon(':icons/save.png'), 'Save lyrics', self.__save_lyrics)
self.__toolbar.addAction(QtGui.QIcon(':icons/delete.png'), 'Delete stored file', self.plugin.del_lyrics_file)
- self.setLayout(QtGui.QGridLayout())
+ self.setLayout(QtWidgets.QGridLayout())
self.layout().setSpacing(0)
- self.layout().setMargin(0)
+ self.layout().setContentsMargins(0, 0, 0, 0)
self.layout().addWidget(self.__toolbar, 0, 0, -1, 1, QtCore.Qt.AlignTop)
self.layout().addWidget(self.__label, 0, 1)
self.layout().addWidget(self.__text_view, 1, 1)
@@ -155,44 +155,44 @@ class Lyrics(Plugin):
# store lyrics groupbox
- self.store = QtGui.QGroupBox('Store lyrics.')
+ self.store = QtWidgets.QGroupBox('Store lyrics.')
self.store.setToolTip('Should %s store its own copy of lyrics?'%common.APPNAME)
self.store.setCheckable(True)
self.store.setChecked(int(self.settings.value('store')))
- self.store.setLayout(QtGui.QGridLayout())
+ self.store.setLayout(QtWidgets.QGridLayout())
# paths to lyrics
- self.lyricdir = QtGui.QLineEdit(self.settings.value('lyricdir'))
+ self.lyricdir = QtWidgets.QLineEdit(self.settings.value('lyricdir'))
self.lyricdir.setToolTip('Where should %s store lyrics.\n'
'${musicdir} will be expanded to path to MPD music library (as set by user)\n'
'${songdir} will be expanded to path to the song (relative to ${musicdir}\n'
'other tags same as in lyricname'
%common.APPNAME)
- self.lyricname = QtGui.QLineEdit(self.settings.value('lyricname'))
+ self.lyricname = QtWidgets.QLineEdit(self.settings.value('lyricname'))
self.lyricname.setToolTip('Filename for %s lyricsfiles.\n'
'All tags supported by MPD will be expanded to their\n'
'values for current song, e.g. ${title}, ${track}, ${artist},\n'
'${album}, ${genre} etc.'%common.APPNAME)
- self.store.layout().addWidget(QtGui.QLabel('Lyrics directory'), 0, 0)
+ self.store.layout().addWidget(QtWidgets.QLabel('Lyrics directory'), 0, 0)
self.store.layout().addWidget(self.lyricdir, 0, 1)
- self.store.layout().addWidget(QtGui.QLabel('Lyrics filename'), 1, 0)
+ self.store.layout().addWidget(QtWidgets.QLabel('Lyrics filename'), 1, 0)
self.store.layout().addWidget(self.lyricname, 1, 1)
# fetchers list
fetchers = self.settings.value('fetchers')
- self.fetcherlist = QtGui.QListWidget(self)
- self.fetcherlist.setDragDropMode(QtGui.QAbstractItemView.InternalMove)
+ self.fetcherlist = QtWidgets.QListWidget(self)
+ self.fetcherlist.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove)
for fetcher in fetchers:
- it = QtGui.QListWidgetItem(fetcher)
+ it = QtWidgets.QListWidgetItem(fetcher)
it.setCheckState(QtCore.Qt.Checked)
self.fetcherlist.addItem(it)
for fetcher in self.plugin.available_fetchers:
if not fetcher.name in fetchers:
- it = QtGui.QListWidgetItem(fetcher.name)
+ it = QtWidgets.QListWidgetItem(fetcher.name)
it.setCheckState(QtCore.Qt.Unchecked)
self.fetcherlist.addItem(it)
- self.setLayout(QtGui.QVBoxLayout())
+ self.setLayout(QtWidgets.QVBoxLayout())
self.layout().addWidget(self.store)
self._add_widget(self.fetcherlist, label = 'Sites', tooltip = 'A list of sources used for fetching lyrics.\n'
'Use drag and drop to change their priority.')
@@ -308,9 +308,12 @@ class FetchLyricwiki(metadata_fetcher.MetadataFetcher):
__apiaddress = 'http://lyrics.wikia.com/api.php'
def fetch(self, song):
+ query = QtCore.QUrlQuery()
+ query.setQueryItems([('func', 'getArtist'), ('artist', song['?artist']),
+ ('fmt', 'xml'), ('action', 'lyrics')])
+
url = QtCore.QUrl(self.__apiaddress)
- url.setQueryItems([('func', 'getArtist'), ('artist', song['?artist']),
- ('fmt', 'xml'), ('action', 'lyrics')])
+ url.setQuery(query)
self.fetch2(song, url)
self.rep.finished.connect(self.__handle_artist_res)
@@ -328,9 +331,11 @@ class FetchLyricwiki(metadata_fetcher.MetadataFetcher):
return self.finish()
self.logger.info('Found artist: %s'%artist)
+ query = QtCore.QUrlQuery()
+ query.setQueryItems([('action', 'lyrics'), ('func', 'getSong'), ('artist', artist),
+ ('song', self.song['?title']), ('fmt', 'xml')])
url = QtCore.QUrl(self.__apiaddress)
- url.setQueryItems([('action', 'lyrics'), ('func', 'getSong'), ('artist', artist),
- ('song', self.song['?title']), ('fmt', 'xml')])
+ url.setQuery(query)
self.rep = self.nam.get(QtNetwork.QNetworkRequest(url))
self.rep.finished.connect(self.__handle_search_res)
self.rep.error.connect(self.handle_error)
@@ -370,8 +375,10 @@ class FetchAnimelyrics(metadata_fetcher.MetadataFetcher):
name = 'Animelyrics'
def fetch(self, song):
+ query = QtCore.QUrlQuery()
+ query.setQueryItems([('t', 'performer'), ('q', song['?artist'])])
url = QtCore.QUrl('http://www.animelyrics.com/search.php')
- url.setQueryItems([('t', 'performer'), ('q', song['?artist'])])
+ url.setQuery(query)
self.fetch2(song, url)
self.rep.finished.connect(self.__handle_search_res)