本文整理汇总了Python中quodlibet.util.collection.Playlist.playlists_featuring方法的典型用法代码示例。如果您正苦于以下问题:Python Playlist.playlists_featuring方法的具体用法?Python Playlist.playlists_featuring怎么用?Python Playlist.playlists_featuring使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类quodlibet.util.collection.Playlist
的用法示例。
在下文中一共展示了Playlist.playlists_featuring方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_playlists_featuring
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
def test_playlists_featuring(s):
with s.wrap("playlist") as pl:
pl.extend(NUMERIC_SONGS)
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(set(playlists), {pl})
# Now add a second one, check that instance tracking works
with s.wrap("playlist2") as pl2:
pl2.append(NUMERIC_SONGS[0])
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(set(playlists), {pl, pl2})
示例2: test_playlists_featuring
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
def test_playlists_featuring(s):
pl = Playlist(s.temp, "playlist")
pl.extend(NUMERIC_SONGS)
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(set(playlists), set([pl]))
# Now add a second one, check that instance tracking works
pl2 = Playlist(s.temp, "playlist2")
pl2.append(NUMERIC_SONGS[0])
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(set(playlists), set([pl, pl2]))
pl.delete()
pl2.delete()
示例3: test_playlists_featuring
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
def test_playlists_featuring(s):
Playlist._remove_all()
Playlist._clear_global_cache()
pl = Playlist(s.temp, "playlist")
pl.extend(NUMERIC_SONGS)
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(playlists, set([pl]))
# Now add a second one, check that instance tracking works
pl2 = Playlist(s.temp, "playlist2")
pl2.append(NUMERIC_SONGS[0])
playlists = Playlist.playlists_featuring(NUMERIC_SONGS[0])
s.failUnlessEqual(playlists, set([pl, pl2]))
示例4: __call__
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
#.........这里部分代码省略.........
elif key == "language":
codes = self.list("language")
if not codes:
return default
return u"\n".join(iso639.translate(c) or c for c in codes)
elif key == "bitrate":
return util.format_bitrate(self("~#bitrate"))
elif key == "#date":
date = self.get("date")
if date is None:
return default
return util.date_key(date)
elif key == "year":
return self.get("date", default)[:4]
elif key == "#year":
try:
return int(self.get("date", default)[:4])
except (ValueError, TypeError, KeyError):
return default
elif key == "originalyear":
return self.get("originaldate", default)[:4]
elif key == "#originalyear":
try:
return int(self.get("originaldate", default)[:4])
except (ValueError, TypeError, KeyError):
return default
elif key == "#tracks":
try:
return int(self["tracknumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "#discs":
try:
return int(self["discnumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "lyrics":
# First, try the embedded lyrics.
try:
return self[key]
except KeyError:
pass
# If there are no embedded lyrics, try to read them from
# the external file.
try:
fileobj = open(self.lyric_filename, "rU")
except EnvironmentError:
return default
else:
return fileobj.read().decode("utf-8", "replace")
elif key == "filesize":
return util.format_size(self("~#filesize", 0))
elif key == "playlists":
# See Issue 876
# Avoid circular references from formats/__init__.py
from quodlibet.util.collection import Playlist
playlists = Playlist.playlists_featuring(self)
return "\n".join([s.name for s in playlists]) or default
elif key.startswith("#replaygain_"):
try:
val = self.get(key[1:], default)
return round(float(val.split(" ")[0]), 2)
except (ValueError, TypeError, AttributeError):
return default
elif key[:1] == "#":
key = "~" + key
if key in self:
return self[key]
elif key in NUMERIC_ZERO_DEFAULT:
return 0
else:
try:
val = self[key[2:]]
except KeyError:
return default
try:
return int(val)
except ValueError:
try:
return float(val)
except ValueError:
return default
else:
return dict.get(self, "~" + key, default)
elif key == "title":
title = dict.get(self, "title")
if title is None:
basename = self("~basename")
return "%s [%s]" % (
decode_value("~basename", basename), _("Unknown"))
else:
return title
elif key in SORT_TO_TAG:
try:
return self[key]
except KeyError:
key = SORT_TO_TAG[key]
return dict.get(self, key, default)
示例5: __call__
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
#.........这里部分代码省略.........
elif key in ("performerssort:roles", "performersort:roles"):
return (self._role_call("performersort")
or self("~" + key.replace("sort", ""), default,
connector))
elif key == "basename":
return os.path.basename(self["~filename"]) or self["~filename"]
elif key == "dirname":
return os.path.dirname(self["~filename"]) or self["~filename"]
elif key == "uri":
try:
return self["~uri"]
except KeyError:
return URI.frompath(self["~filename"])
elif key == "format":
return self.get("~format", self.format)
elif key == "#date":
date = self.get("date")
if date is None:
return default
return util.date_key(date)
elif key == "year":
return self.get("date", default)[:4]
elif key == "#year":
try:
return int(self.get("date", default)[:4])
except (ValueError, TypeError, KeyError):
return default
elif key == "originalyear":
return self.get("originaldate", default)[:4]
elif key == "#originalyear":
try:
return int(self.get("originaldate", default)[:4])
except (ValueError, TypeError, KeyError):
return default
elif key == "#tracks":
try:
return int(self["tracknumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "#discs":
try:
return int(self["discnumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "lyrics":
try:
fileobj = file(self.lyric_filename, "rU")
except EnvironmentError:
return default
else:
return fileobj.read().decode("utf-8", "replace")
elif key == "filesize":
return util.format_size(self("~#filesize", 0))
elif key == "playlists":
# See Issue 876
# Avoid circular references from formats/__init__.py
from quodlibet.util.collection import Playlist
playlists = Playlist.playlists_featuring(self)
return "\n".join([s.name for s in playlists]) or default
elif key.startswith("#replaygain_"):
try:
val = self.get(key[1:], default)
return round(float(val.split(" ")[0]), 2)
except (ValueError, TypeError, AttributeError):
return default
elif key[:1] == "#":
key = "~" + key
if key in self:
return self[key]
elif key in INTERN_NUM_DEFAULT:
return dict.get(self, key, 0)
else:
try:
val = self[key[2:]]
except KeyError:
return default
try:
return int(val)
except ValueError:
try:
return float(val)
except ValueError:
return default
else:
return dict.get(self, "~" + key, default)
elif key == "title":
title = dict.get(self, "title")
if title is None:
basename = self("~basename")
return "%s [%s]" % (
decode_value("~basename", basename), _("Unknown"))
else:
return title
elif key in SORT_TO_TAG:
try:
return self[key]
except KeyError:
key = SORT_TO_TAG[key]
return dict.get(self, key, default)
示例6: __call__
# 需要导入模块: from quodlibet.util.collection import Playlist [as 别名]
# 或者: from quodlibet.util.collection.Playlist import playlists_featuring [as 别名]
#.........这里部分代码省略.........
if len(performers) > 0:
for performer in performers:
roles = ''
i = 0
for role in performers[performer]:
if i > 0:
roles += ', '
roles += role
i += 1
values.append("%s (%s)" % (performer, roles))
values.extend(self.list("performer"))
if not values: return default
return "\n".join(values)
elif key == "performerssort" or key == "performersort":
values = []
for key in self.keys():
if key.startswith("performersort:"):
role = key.split(":", 1)[1]
for value in self.list(key):
values.append("%s (%s)" % (value, role))
values.extend(self.list("performersort"))
return ("\n".join(values) or
self("~performers", default, connector))
elif key == "basename":
return os.path.basename(self["~filename"]) or self["~filename"]
elif key == "dirname":
return os.path.dirname(self["~filename"]) or self["~filename"]
elif key == "uri":
try: return self["~uri"]
except KeyError:
return URI.frompath(self["~filename"])
elif key == "format":
return self.get("~format", self.format)
elif key == "year":
return self.get("date", default)[:4]
elif key == "#year":
try: return int(self.get("date", default)[:4])
except (ValueError, TypeError, KeyError): return default
elif key == "originalyear":
return self.get("originaldate", default)[:4]
elif key == "#originalyear":
try: return int(self.get("originaldate", default)[:4])
except (ValueError, TypeError, KeyError): return default
elif key == "#tracks":
try: return int(self["tracknumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "#discs":
try: return int(self["discnumber"].split("/")[1])
except (ValueError, IndexError, TypeError, KeyError):
return default
elif key == "lyrics":
try: fileobj = file(self.lyric_filename, "rU")
except EnvironmentError: return default
else: return fileobj.read().decode("utf-8", "replace")
elif key == "playlists":
# See Issue 876
# Avoid circular references from formats/__init__.py
from quodlibet.util.collection import Playlist
try:
start = time.time()
playlists = Playlist.playlists_featuring(self)
import random
if not random.randint(0, 1000):
print_d("A sample song('~playlists') call: took %d μs "
% (1E6 * (time.time() - start)))
return "\n".join([s.name for s in playlists])
except KeyError:
return default
elif key.startswith("#replaygain_"):
try:
val = self.get(key[1:], default)
return round(float(val.split(" ")[0]), 2)
except (ValueError, TypeError, AttributeError): return default
elif key[:1] == "#":
key = "~" + key
if key in self: self[key]
elif key in INTERN_NUM_DEFAULT:
return dict.get(self, key, 0)
else:
try: val = self[key[2:]]
except KeyError: return default
try: return int(val)
except ValueError:
try: return float(val)
except ValueError: return default
else: return dict.get(self, "~" + key, default)
elif key == "title":
title = dict.get(self, "title")
if title is None:
basename = self("~basename")
basename = basename.decode(const.FSCODING, "replace")
return "%s [%s]" % (basename, _("Unknown"))
else: return title
elif key in SORT_TO_TAG:
try: return self[key]
except KeyError:
key = SORT_TO_TAG[key]
return dict.get(self, key, default)