本文整理汇总了Python中quodlibet.formats.AudioFile类的典型用法代码示例。如果您正苦于以下问题:Python AudioFile类的具体用法?Python AudioFile怎么用?Python AudioFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AudioFile类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TRatingsMenuItem
class TRatingsMenuItem(TestCase):
def setUp(self):
config.RATINGS = config.HardCodedRatingsPrefs()
self.failUnlessEqual(config.RATINGS.number, NUM_RATINGS)
self.library = SongLibrary()
self.library.librarian = SongLibrarian()
self.af = AudioFile({"~filename": fsnative(u"/foo"), "~#rating": 1.0})
self.af.sanitize()
self.rmi = RatingsMenuItem([self.af], self.library)
def tearDown(self):
self.rmi.destroy()
self.library.destroy()
self.library.librarian.destroy()
def test_menuitem_children(self):
children = [mi for mi in self.rmi.get_submenu().get_children()
if isinstance(mi, Gtk.CheckMenuItem)]
self.failUnlessEqual(len(children), NUM_RATINGS + 1)
highest = children[-1]
self.failUnlessEqual(highest.get_active(), True)
self.failUnlessEqual(children[1].get_active(), False)
def test_set_remove_rating(self):
self.rmi.set_rating(0.5, [self.af], self.library)
self.failUnless(self.af.has_rating)
self.failUnlessEqual(self.af('~#rating'), 0.5)
self.rmi.remove_rating([self.af], self.library)
self.failIf(self.af.has_rating)
示例2: 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)"])
示例3: 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)
示例4: test_can_change
def test_can_change(self):
af = AudioFile()
self.failIf(af.can_change("~foobar"))
self.failIf(af.can_change("=foobar"))
self.failIf(af.can_change("foo=bar"))
self.failIf(af.can_change(""))
self.failUnless(af.can_change("foo bar"))
示例5: 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"öäü")
示例6: test_has_rating
def test_has_rating(self):
song = AudioFile()
self.assertFalse(song.has_rating)
song["~#rating"] = 0.5
self.assertTrue(song.has_rating)
song.remove_rating()
self.assertFalse(song.has_rating)
示例7: 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()
示例8: test_msic
def test_msic(self):
with realized(self.b):
self.b.activate()
self.b.status_text(1000)
self.b.status_text(1)
song = AudioFile({"~filename": dummy_path(u"/fake")})
song.sanitize()
self.b.scroll(song)
示例9: 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)
示例10: setUp
def setUp(self):
config.init()
player = NullPlayer()
song = AudioFile()
song.bookmarks = [(10, "bla")]
song.sanitize(fsnative(u"/"))
player.song = song
self.player = player
self.library = SongLibrary()
示例11: test_performers_multi_value
def test_performers_multi_value(self):
q = AudioFile([("performer:vocals", "X\nA\nY"), ("performer:guitar", "Y\nB\nA"), ("performer", "C\nF\nB\nA")])
self.failUnlessEqual(set(q.list("~performer")), {"A", "B", "C", "F", "X", "Y"})
self.failUnlessEqual(
set(q.list("~performer:roles")),
{"A (Guitar, Vocals)", "C", "B (Guitar)", "X (Vocals)", "Y (Guitar, Vocals)", "F"},
)
示例12: 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()
示例13: 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)"])
示例14: _print_playing
def _print_playing(app, fstring="<artist~album~tracknumber~title>"):
from quodlibet.formats import AudioFile
from quodlibet.pattern import Pattern
song = app.player.info
if song is None:
song = AudioFile({"~filename": fsnative(u"/")})
song.sanitize()
return Pattern(fstring).format(song) + "\n"
示例15: 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)