本文整理汇总了Python中quodlibet.formats.AudioFile.sanitize方法的典型用法代码示例。如果您正苦于以下问题:Python AudioFile.sanitize方法的具体用法?Python AudioFile.sanitize怎么用?Python AudioFile.sanitize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类quodlibet.formats.AudioFile
的用法示例。
在下文中一共展示了AudioFile.sanitize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TRatingsMenuItem
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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)
示例3: test_masked_handling
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
def test_masked_handling(self):
if os.name == "nt":
# FIXME: masking isn't properly implemented on Windows
return
# playlists can contain songs and paths for masked handling..
lib = FileLibrary("foobar")
with self.wrap("playlist", lib) as pl:
song = Fakesong({"date": "2038", "~filename": fsnative(u"/fake")})
song.sanitize()
lib.add([song])
# mask and update
lib.mask("/")
pl.append(song)
pl.remove_songs([song])
self.failUnless("/fake" in pl)
pl.extend(self.TWO_SONGS)
# check if collections can handle the mix
self.failUnlessEqual(pl("date"), "2038")
# unmask and update
lib.unmask("/")
pl.add_songs(["/fake"], lib)
self.failUnless(song in pl)
lib.destroy()
示例4: test_msic
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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)
示例5: test_msic
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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)
示例6: setUp
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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()
示例7: _print_playing
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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"
示例8: test_sanitize
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
def test_sanitize(self):
q = AudioFile(quux)
b = AudioFile(bar_1_1)
q.sanitize()
b.pop("~filename")
self.failUnlessRaises(ValueError, b.sanitize)
n = AudioFile({"artist": u"foo\0bar", "title": u"baz\0", "~filename": fsnative(u"whatever")})
n.sanitize()
self.failUnlessEqual(n["artist"], "foo\nbar")
self.failUnlessEqual(n["title"], "baz")
示例9: test_menuitem
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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()
示例10: getline
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
def getline(key, value):
song = AudioFile({"~filename": "/dev/null"})
song.sanitize()
song[key] = value
lines = format_tags(song).splitlines()
if not lines:
return ""
if len(lines) == 1:
return lines[0]
# hackery since title defaults to the filename..
for l in lines:
if not l.startswith("Title"):
return l
示例11: test_lyrics_from_file
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
def test_lyrics_from_file(self):
with temp_filename() as filename:
af = AudioFile(artist='Motörhead', title='this: again')
af.sanitize(filename)
lyrics = "blah!\nblasé 😬\n"
lyrics_dir = os.path.dirname(af.lyric_filename)
mkdir(lyrics_dir)
with io.open(af.lyric_filename, "w", encoding='utf-8') as lf:
lf.write(text_type(lyrics))
self.failUnlessEqual(af("~lyrics").splitlines(),
lyrics.splitlines())
os.remove(af.lyric_filename)
os.rmdir(lyrics_dir)
示例12: test_album_key
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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")),
({"albumartist": "a"}, ("", ("a",), "")),
]
for tags, expected in album_key_tests:
afile = AudioFile(**tags)
afile.sanitize(fsnative(u"/dir/fn"))
self.failUnlessEqual(afile.album_key, expected)
示例13: test_album_key
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
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')),
({'albumartist': 'a'}, ((), ('a',), '')),
]
for tags, expected in album_key_tests:
afile = AudioFile(**tags)
afile.sanitize(fsnative(u'/dir/fn'))
self.failUnlessEqual(afile.album_key, expected)
示例14: test_header_menu
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
def test_header_menu(self):
from quodlibet import browsers
from quodlibet.library import SongLibrary, SongLibrarian
song = AudioFile({"~filename": fsnative(u"/dev/null")})
song.sanitize()
self.songlist.set_songs([song])
library = SongLibrary()
library.librarian = SongLibrarian()
browser = browsers.get("SearchBar")(library)
self.songlist.set_column_headers(["foo"])
self.assertFalse(self.songlist.Menu("foo", browser, library))
sel = self.songlist.get_selection()
sel.select_all()
self.assertTrue(self.songlist.Menu("foo", browser, library))
示例15: AudioFile
# 需要导入模块: from quodlibet.formats import AudioFile [as 别名]
# 或者: from quodlibet.formats.AudioFile import sanitize [as 别名]
from tests import skipUnless
from tests.plugin import PluginTestCase, init_fake_app, destroy_fake_app
from quodlibet.formats import AudioFile
from quodlibet import config
from quodlibet import app
from quodlibet.compat import iteritems
A1 = AudioFile(
{'album': u'greatness', 'title': 'excellent', 'artist': 'fooman\ngo',
'~#lastplayed': 1234, '~#rating': 0.75,
'~filename': fsnative(u'/foo a/b'),
"~#length": 123, "albumartist": "aa\nbb", "bpm": "123.5",
"tracknumber": "6/7"})
A1.sanitize()
A2 = AudioFile(
{'album': u'greatness2\ufffe', 'title': 'superlative',
'artist': u'fooman\ufffe', '~#lastplayed': 1234, '~#rating': 1.0,
'~filename': fsnative(u'/foo')})
A2.sanitize()
MAX_TIME = 3
@skipUnless(dbus, "no dbus")
class TMPRIS(PluginTestCase):
def setUp(self):
self.plugin = self.plugins["mpris"].cls