summaryrefslogtreecommitdiff
path: root/nephilim/plugins/AlbumCover.py
diff options
context:
space:
mode:
Diffstat (limited to 'nephilim/plugins/AlbumCover.py')
-rw-r--r--nephilim/plugins/AlbumCover.py52
1 files changed, 28 insertions, 24 deletions
diff --git a/nephilim/plugins/AlbumCover.py b/nephilim/plugins/AlbumCover.py
index b4302bc..c576c56 100644
--- a/nephilim/plugins/AlbumCover.py
+++ b/nephilim/plugins/AlbumCover.py
@@ -15,8 +15,8 @@
# along with Nephilim. If not, see <http://www.gnu.org/licenses/>.
#
-from PyQt4 import QtGui, QtCore, QtNetwork
-from PyQt4.QtCore import pyqtSignal as Signal
+from PyQt5 import QtGui, QtWidgets, QtCore, QtNetwork
+from PyQt5.QtCore import pyqtSignal as Signal
import os
@@ -24,7 +24,7 @@ from ..plugin import Plugin
from .. import common, metadata_fetcher, song
from .. import icons
-class AlbumCoverWidget(QtGui.QLabel):
+class AlbumCoverWidget(QtWidgets.QLabel):
"cover - QPixmap or None"
cover = None
"is there a (non-default) cover loaded?"
@@ -37,13 +37,13 @@ class AlbumCoverWidget(QtGui.QLabel):
_menu = None # popup menu
def __init__(self, plugin):
- QtGui.QLabel.__init__(self)
+ QtWidgets.QLabel.__init__(self)
self.plugin = plugin
self.logger = plugin.logger
self.setAlignment(QtCore.Qt.AlignCenter)
# popup menu
- self._menu = QtGui.QMenu('album')
+ self._menu = QtWidgets.QMenu('album')
self._menu.addAction('&Select cover file...', self.plugin.select_cover)
self._menu.addAction('&Refresh cover.', self.plugin.refresh)
self._menu.addAction('&View in a separate window.', self.__view_cover)
@@ -76,7 +76,7 @@ class AlbumCoverWidget(QtGui.QLabel):
def __view_cover(self):
if not self.cover_loaded:
return
- win = QtGui.QLabel(self, QtCore.Qt.Window)
+ win = QtWidgets.QLabel(self, QtCore.Qt.Window)
win.setScaledContents(True)
win.setPixmap(self.cover)
win.show()
@@ -85,7 +85,7 @@ class AlbumCoverWidget(QtGui.QLabel):
if not self.cover_loaded:
return
cover = self.cover
- file = QtGui.QFileDialog.getSaveFileName(None, '', QtCore.QDir.homePath())
+ file = QtWidgets.QFileDialog.getSaveFileName(None, '', QtCore.QDir.homePath())
if file:
self.plugin.save_cover_file(cover, file)
@@ -155,44 +155,44 @@ class AlbumCover(Plugin):
self.settings.beginGroup(self.plugin.name)
# store covers groupbox
- self.store = QtGui.QGroupBox('Store covers.')
+ self.store = QtWidgets.QGroupBox('Store covers.')
self.store.setToolTip('Should %s store its own copy of covers?'%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 covers
- self.coverdir = QtGui.QLineEdit(self.settings.value('coverdir'))
+ self.coverdir = QtWidgets.QLineEdit(self.settings.value('coverdir'))
self.coverdir.setToolTip('Where should %s store covers.\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 covername'
%common.APPNAME)
- self.covername = QtGui.QLineEdit(self.settings.value('covername'))
+ self.covername = QtWidgets.QLineEdit(self.settings.value('covername'))
self.covername.setToolTip('Filename for %s cover files.\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('Cover directory'), 0, 0)
+ self.store.layout().addWidget(QtWidgets.QLabel('Cover directory'), 0, 0)
self.store.layout().addWidget(self.coverdir, 0, 1)
- self.store.layout().addWidget(QtGui.QLabel('Cover filename'), 1, 0)
+ self.store.layout().addWidget(QtWidgets.QLabel('Cover filename'), 1, 0)
self.store.layout().addWidget(self.covername, 1, 1)
# sites list
fetchers = self.settings.value('fetchers')
- self.fetcherlist = QtGui.QListWidget(self)
+ self.fetcherlist = QtWidgets.QListWidget(self)
self.fetcherlist.setDragDropMode(QtGui.QAbstractItemView.InternalMove)
for site in fetchers:
- it = QtGui.QListWidgetItem(site)
+ it = QtWidgets.QListWidgetItem(site)
it.setCheckState(QtCore.Qt.Checked)
self.fetcherlist.addItem(it)
for site in self.plugin.available_fetchers:
if not site.name in fetchers:
- it = QtGui.QListWidgetItem(site.name)
+ it = QtWidgets.QListWidgetItem(site.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 = 'Fetchers', tooltip = 'A list of sources used for fetching covers.\n'
'Use drag and drop to change their priority.')
@@ -290,7 +290,7 @@ class AlbumCover(Plugin):
return
self.__abort_fetch()
- file = QtGui.QFileDialog.getOpenFileName(None,
+ file = QtWidgets.QFileDialog.getOpenFileName(None,
'Select album cover for %s - %s'%(song['?artist'], song['?album']),
self.__cover_dir, '')
if not file:
@@ -323,12 +323,16 @@ class FetcherLastfm(metadata_fetcher.MetadataFetcher):
self.song = song
if not 'artist' in song or not 'album' in song:
return self.finish()
+
+ query = QtCore.QUrlQuery()
+ query.setQueryItems([('api_key', 'beedb2a8a0178b8059cd6c7e57fbe428'),
+ ('method', 'album.getInfo'),
+ ('artist', song['artist']),
+ ('album', song['album']),
+ ('mbid', song['?MUSICBRAINZ_ALBUMID'])])
url = QtCore.QUrl('http://ws.audioscrobbler.com/2.0/')
- url.setQueryItems([('api_key', 'beedb2a8a0178b8059cd6c7e57fbe428'),
- ('method', 'album.getInfo'),
- ('artist', song['artist']),
- ('album', song['album']),
- ('mbid', song['?MUSICBRAINZ_ALBUMID'])])
+ url.setQuery(query)
+
self.fetch2(song, url)
self.rep.finished.connect(self.__handle_search_res)
@@ -342,7 +346,7 @@ class FetcherLastfm(metadata_fetcher.MetadataFetcher):
if xml.name() == 'image' and xml.attributes().value('size') == 'extralarge':
url = QtCore.QUrl() # the url is already percent-encoded
try:
- url.setEncodedUrl(xml.readElementText())
+ url.setUrl(xml.readElementText())
except TypeError: #no text
url = None
if xml.hasError():