summaryrefslogtreecommitdiff
path: root/nephilim
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-03-02 17:48:05 +0100
committerAnton Khirnov <wyskas@gmail.com>2009-03-02 17:48:05 +0100
commit8176f78a7b97b1618dff2387136d3413c6cfb822 (patch)
tree2bfadca20e8bffdf594ff3fb9c39b1c3f4a0e089 /nephilim
parent28ecec51d865a8f8dfa122d388fd35b70f809b45 (diff)
AlbumCover: handle streams and files not in collection.
Diffstat (limited to 'nephilim')
-rw-r--r--nephilim/plugins/AlbumCover.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/nephilim/plugins/AlbumCover.py b/nephilim/plugins/AlbumCover.py
index cf1cdbe..a1e9981 100644
--- a/nephilim/plugins/AlbumCover.py
+++ b/nephilim/plugins/AlbumCover.py
@@ -2,6 +2,7 @@ from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import QVariant
from traceback import print_exc
import logging
+import os
from ..clPlugin import Plugin
from ..misc import ORGNAME, APPNAME, expand_tags
@@ -47,7 +48,8 @@ class wgAlbumCover(QtGui.QLabel):
self.setPixmap(cover.scaled(self.size(), QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation))
logging.info('Cover set.')
- if write and self.p.settings.value(self.p.getName() + '/store').toBool():
+ if (write and self.p.settings.value(self.p.getName() + '/store').toBool()
+ and self.cover_filepath):
if cover.save(self.cover_filepath, 'png'):
logging.info('Cover saved.')
else:
@@ -66,11 +68,18 @@ class wgAlbumCover(QtGui.QLabel):
self.cover_loaded = False
return
- dirname = self.p.settings.value(self.p.getName() + '/coverdir').toString()
- self.cover_dirname = expand_tags(dirname, (self.p.winMain, song))
- filebase = self.p.settings.value(self.p.getName() + '/covername').toString()
- self.cover_filepath = '%s/%s'%(self.cover_dirname,
- expand_tags(filebase, (self.p.winMain, song)).replace('/', '_'))
+ if QtCore.QDir.isAbsolutePath(song.getFilepath()):
+ self.cover_dirname = os.path.dirname(song.getFilepath())
+ self.cover_filepath = ''
+ elif '://' in song.getFilepath(): # we are streaming
+ self.cover_dirname = ''
+ self.cover_filepath = ''
+ else:
+ dirname = self.p.settings.value(self.p.getName() + '/coverdir').toString()
+ self.cover_dirname = expand_tags(dirname, (self.p.winMain, song))
+ filebase = self.p.settings.value(self.p.getName() + '/covername').toString()
+ self.cover_filepath = '%s/%s'%(self.cover_dirname,
+ expand_tags(filebase, (self.p.winMain, song)).replace('/', '_'))
self.fetch_cover(song)
def fetch_cover(self, song):
@@ -78,7 +87,7 @@ class wgAlbumCover(QtGui.QLabel):
if not QtCore.QFile.exists(self.cover_filepath):
for i in (0, 1):
src = self.p.settings.value(self.p.getName() + '/method%i'%i).toInt()[0]
- if src == AC_FETCH_LOCAL_DIR:
+ if src == AC_FETCH_LOCAL_DIR and self.cover_dirname:
cover = self.fetch_local(song)
elif src == AC_FETCH_AMAZON:
cover = self.fetch_amazon(song)