本文整理匯總了Python中quodlibet.util.cover.manager.CoverManager.acquire_cover方法的典型用法代碼示例。如果您正苦於以下問題:Python CoverManager.acquire_cover方法的具體用法?Python CoverManager.acquire_cover怎麽用?Python CoverManager.acquire_cover使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類quodlibet.util.cover.manager.CoverManager
的用法示例。
在下文中一共展示了CoverManager.acquire_cover方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_acquire_cover_calls
# 需要導入模塊: from quodlibet.util.cover.manager import CoverManager [as 別名]
# 或者: from quodlibet.util.cover.manager.CoverManager import acquire_cover [as 別名]
def test_acquire_cover_calls(self):
# * fetch_cover shouldn't get called if source provides the cover
# synchronously
# * First cover source should fail providing the cover both
# synchronously and asynchronously and only then the next source
# should be used
manager = CoverManager(use_built_in=False)
handler = manager.plugin_handler
found = []
result = []
for source in dummy_sources:
handler.plugin_handle(source)
handler.plugin_enable(source)
source.cls.cover_call = False
source.cls.fetch_call = False
def done(_found, _result):
found.append(_found)
result.append(_result)
manager.acquire_cover(done, None, None)
self.runLoop()
self.assertTrue(found[0])
self.assertIs(result[0], DUMMY_COVER)
self.assertTrue(dummy_sources[0].cls.cover_call)
self.assertTrue(dummy_sources[1].cls.cover_call)
self.assertFalse(dummy_sources[2].cls.cover_call)
self.assertFalse(dummy_sources[0].cls.fetch_call)
self.assertFalse(dummy_sources[1].cls.fetch_call)
self.assertFalse(dummy_sources[2].cls.fetch_call)
for source in dummy_sources:
source.cls.cover_call = False
source.cls.fetch_call = False
handler.plugin_disable(dummy_sources[1])
manager.acquire_cover(done, None, None)
self.runLoop()
self.assertTrue(found[1])
self.assertIs(result[1], DUMMY_COVER)
self.assertTrue(dummy_sources[0].cls.cover_call)
self.assertFalse(dummy_sources[1].cls.cover_call)
self.assertTrue(dummy_sources[2].cls.cover_call)
self.assertFalse(dummy_sources[0].cls.fetch_call)
self.assertFalse(dummy_sources[1].cls.fetch_call)
self.assertTrue(dummy_sources[2].cls.fetch_call)
示例2: test_acquire_cover
# 需要導入模塊: from quodlibet.util.cover.manager import CoverManager [as 別名]
# 或者: from quodlibet.util.cover.manager.CoverManager import acquire_cover [as 別名]
def test_acquire_cover(self):
manager = CoverManager(use_built_in=False)
handler = manager.plugin_handler
for source in dummy_sources:
handler.plugin_handle(source)
handler.plugin_enable(dummy_sources[0])
found = []
result = []
def done(_found, _result):
found.append(_found)
result.append(_result)
manager.acquire_cover(done, None, None)
self.runLoop()
self.assertFalse(found[0])
handler.plugin_enable(dummy_sources[1])
manager.acquire_cover(done, None, None)
self.runLoop()
self.assertTrue(found[1])
self.assertIs(result[1], DUMMY_COVER)
handler.plugin_disable(dummy_sources[1])
handler.plugin_enable(dummy_sources[2])
manager.acquire_cover(done, None, None)
self.runLoop()
self.assertTrue(found[2])
self.assertIs(result[2], DUMMY_COVER)
示例3: TCoverManagerBuiltin
# 需要導入模塊: from quodlibet.util.cover.manager import CoverManager [as 別名]
# 或者: from quodlibet.util.cover.manager.CoverManager import acquire_cover [as 別名]
#.........這裏部分代碼省略.........
h, self.cover2 = mkstemp(".png", dir=self.main)
os.close(h)
pb = GdkPixbuf.Pixbuf.new(GdkPixbuf.Colorspace.RGB, True, 8, 20, 20)
pb.savev(self.cover2, "png", [], [])
self.file1 = get_temp_copy(get_data_path('silence-44-s.mp3'))
self.file2 = get_temp_copy(get_data_path('silence-44-s.mp3'))
self.manager = CoverManager()
def tearDown(self):
shutil.rmtree(self.main)
config.quit()
def test_connect_cover_changed(self):
called_with = []
def sig_handler(*args):
called_with.extend(args)
obj = object()
self.manager.connect("cover-changed", sig_handler)
self.manager.cover_changed([obj])
self.assertEqual(called_with, [self.manager, [obj]])
def test_get_primary_image(self):
self.assertFalse(MP3File(self.file1).has_images)
self.assertFalse(MP3File(self.file1).has_images)
def test_manager(self):
self.assertEqual(len(list(self.manager.sources)), 2)
def test_get_cover_many_prefer_embedded(self):
# embed one cover, move one to the other dir
MP3File(self.file1).set_image(EmbeddedImage.from_path(self.cover1))
os.unlink(self.cover1)
self.external_cover = os.path.join(self.dir2, "cover.png")
shutil.move(self.cover2, self.external_cover)
# move one audio file in each dir
shutil.move(self.file1, self.dir1)
self.file1 = os.path.join(self.dir1, os.path.basename(self.file1))
shutil.move(self.file2, self.dir2)
self.file2 = os.path.join(self.dir2, os.path.basename(self.file2))
song1 = MP3File(self.file1)
song2 = MP3File(self.file2)
# each should find a cover
self.failUnless(self.is_embedded(self.manager.get_cover(song1)))
self.failIf(self.is_embedded(self.manager.get_cover(song2)))
cover_for = self.manager.get_cover_many
# both settings should search both songs before giving up
config.set("albumart", "prefer_embedded", True)
self.failUnless(self.is_embedded(cover_for([song1, song2])))
self.failUnless(self.is_embedded(cover_for([song2, song1])))
config.set("albumart", "prefer_embedded", False)
self.failIf(self.is_embedded(cover_for([song1, song2])))
self.failIf(self.is_embedded(cover_for([song2, song1])))
def is_embedded(self, fileobj):
return not path_equal(fileobj.name, self.external_cover, True)
def test_acquire_prefer_embedded(self):
# embed one cover...
MP3File(self.file1).set_image(EmbeddedImage.from_path(self.cover1))
os.unlink(self.cover1)
self.external_cover = os.path.join(self.dir1, "cover.png")
# ...and save a different cover externally
shutil.copy(self.cover2, self.external_cover)
shutil.move(self.file1, self.dir1)
self.file1 = os.path.join(self.dir1, os.path.basename(self.file1))
both_song = MP3File(self.file1)
results = []
def acquire(song):
def cb(source, result):
results.append(result)
self.manager.acquire_cover(cb, None, song)
def result_was_embedded():
return self.is_embedded(results.pop())
config.set("albumart", "prefer_embedded", True)
acquire(both_song)
self.failUnless(result_was_embedded(),
"Embedded image expected due to prefs")
config.set("albumart", "prefer_embedded", False)
acquire(both_song)
self.failIf(result_was_embedded(),
"Got an embedded image despite prefs")