本文整理汇总了Python中quodlibet.formats._audio.AudioFile类的典型用法代码示例。如果您正苦于以下问题:Python AudioFile类的具体用法?Python AudioFile怎么用?Python AudioFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AudioFile类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test
def test(self):
lib = SongFileLibrary()
with temp_filename() as song_fn:
song = AudioFile({"~filename": song_fn})
song.sanitize()
lib.add([song])
with temp_filename() as xml_fn:
with open(xml_fn, "wb") as h:
x = get_example_xml(song("~filename"), 1, 1371802107)
h.write(x)
handler = self.mod.RBDBContentHandler(lib)
xml.sax.parse(xml_fn, handler)
self.assertEqual(song("~#rating"), 0.2)
self.assertEqual(song("~#lastplayed"), 1371802107)
self.assertEqual(song("~#playcount"), 1)
with open(xml_fn, "wb") as h:
x = get_example_xml(song("~filename"), 2, 1371802107 - 1)
h.write(x)
handler = self.mod.RBDBContentHandler(lib)
xml.sax.parse(xml_fn, handler)
self.assertEqual(song("~#rating"), 0.4)
self.assertEqual(song("~#lastplayed"), 1371802107)
示例2: test_embedded_special_cover_words
def test_embedded_special_cover_words(self):
"""Tests that words incidentally containing embedded "special" words
album keywords (e.g. cover, disc, back) don't trigger
See Issue 818"""
song = AudioFile(
{"~filename": "tests/data/asong.ogg", "album": "foobar", "title": "Ode to Baz", "artist": "Q-Man"}
)
files = [
self.full_path(f)
for f in [
"back.jpg",
"discovery.jpg",
"Pharell - frontin'.jpg",
"nickelback - Curb.jpg",
"foobar.jpg",
"folder.jpg", # Though this is debatable
"Q-Man - foobar.jpg",
"Q-man - foobar (cover).jpg",
]
]
for f in files:
file(f, "w").close()
self.files.append(f)
cover = song.find_cover()
if cover:
actual = os.path.abspath(cover.name)
self.failUnlessEqual(actual, f, '"%s" should trump "%s"' % (f, actual))
else:
self.failUnless(f, self.full_path("back.jpg"))
示例3: test_to_dump_unicode
def test_to_dump_unicode(self):
b = AudioFile(bar_1_1)
b[u"öäü"] = u"öäü"
dump = b.to_dump()
n = AudioFile()
n.from_dump(dump)
self.assertEqual(n[u"öäü"], u"öäü")
示例4: setUp
def setUp(self):
self.rg_data = {"replaygain_album_gain": "-1.00 dB",
"replaygain_album_peak": "1.1",
"replaygain_track_gain": "+1.0000001 dB",
"replaygain_track_peak": "0.9"}
self.song = AudioFile(self.rg_data)
self.no_rg_song = AudioFile()
示例5: test_people
def test_people(self):
q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"),
("performer", "C"), ("arranger", "A"),
("albumartist", "B"), ("artist", "C")])
self.failUnlessEqual(q.list("~people"), ["C", "B", "A"])
self.failUnlessEqual(q.list("~people:roles"),
["C", "B (Guitar)", "A (Arrangement, Vocals)"])
示例6: test_msic
def test_msic(self):
with realized(self.b):
self.b.activate()
self.b.statusbar(1000)
self.b.statusbar(1)
song = AudioFile({"~filename": fsnative(u"/fake")})
song.sanitize()
self.b.scroll(song)
示例7: setUp
def setUp(self):
config.init()
player = NullPlayer()
song = AudioFile()
song.bookmarks = [(10, "bla")]
song.sanitize("/")
player.song = song
self.player = player
示例8: test_performers
def test_performers(self):
q = AudioFile([("performer:vocals", "A"), ("performer:guitar", "B"), ("performer", "C")])
self.failUnless("A (Vocals)" in q.list("~performers"))
self.failUnless("B (Guitar)" in q.list("~performers"))
self.failUnless("C" in q.list("~performers"))
self.failUnless("A (Vocals)" in q.list("~people"))
self.failUnless("B (Guitar)" in q.list("~people"))
self.failUnlessEqual(len(q.list("~performers")), 3)
示例9: test_people_mix
def test_people_mix(self):
q = AudioFile([
("performer:arrangement", "A"),
("arranger", "A"),
("performer", "A"),
("performer:foo", "A"),
])
self.failUnlessEqual(q.list("~people"), ["A"])
self.failUnlessEqual(q.list("~people:roles"),
["A (Arrangement, Arrangement, Foo)"])
示例10: test_menuitem
def test_menuitem(self):
library = SongLibrary()
library.librarian = SongLibrarian()
a = AudioFile({"~filename": fsnative(u"/foo")})
a.sanitize()
x = RatingsMenuItem([a], library)
x.set_rating(0, [a], library)
x.destroy()
library.destroy()
library.librarian.destroy()
示例11: _print_playing
def _print_playing(app, fstring="<artist~album~tracknumber~title>"):
from quodlibet.formats._audio import AudioFile
from quodlibet.pattern import Pattern
song = app.player.song
if song is None:
song = AudioFile({"~filename": fsnative(u"/")})
song.sanitize()
return Pattern(fstring).format(song) + "\n"
示例12: test_remove_all
def test_remove_all(self):
song = AudioFile()
song.add("foo", "bar")
song.add("foo", "another")
song.add("foo", "one more")
song.remove("foo")
self.assertFalse("foo" in song)
示例13: test_people_multi_value
def test_people_multi_value(self):
q = AudioFile([
("arranger", "A\nX"),
("performer", "A\nY"),
("performer:foo", "A\nX"),
])
self.failUnlessEqual(q.list("~people"), ["A", "Y", "X"])
self.failUnlessEqual(
q.list("~people:roles"),
["A (Arrangement, Foo)", "Y", "X (Arrangement, Foo)"])
示例14: test_to_dump
def test_to_dump(self):
dump = bar_1_1.to_dump()
num = len(set(bar_1_1.keys()) | INTERN_NUM_DEFAULT)
self.failUnlessEqual(dump.count("\n"), num + 2)
for key, value in bar_1_1.items():
self.failUnless(key in dump)
self.failUnless(value in dump)
for key in INTERN_NUM_DEFAULT:
self.failUnless(key in dump)
n = AudioFile()
n.from_dump(dump)
self.failUnless(set(dump.split("\n")) == set(n.to_dump().split("\n")))
示例15: test_album_key
def test_album_key(self):
album_key_tests = [
({}, ("", "")),
({"album": "foo"}, (("foo",), "")),
({"labelid": "foo"}, ("", "foo")),
({"musicbrainz_albumid": "foo"}, ("", "foo")),
({"album": "foo", "labelid": "bar"}, (("foo",), "bar")),
({"album": "foo", "labelid": "bar", "musicbrainz_albumid": "quux"}, (("foo",), "bar")),
]
for tags, expected in album_key_tests:
afile = AudioFile(**tags)
afile.sanitize("/dir/fn")
self.failUnlessEqual(afile.album_key, expected)