예제 #1
0
 def test_remove_from_empty_cluster(self):
     cluster = Cluster('Test')
     cluster.files.append(File('test1.flac'))
     update_metadata_images(cluster)
     remove_metadata_images(cluster, [cluster.files[0]])
     self.assertEqual(set(), set(cluster.metadata.images))
     self.assertTrue(cluster.metadata.has_common_images)
예제 #2
0
 def test_add_no_changes(self):
     cluster = Cluster('Test')
     cluster.files = self.test_files
     update_metadata_images(cluster)
     added = add_metadata_images(cluster, [self.test_files[1]])
     self.assertFalse(added)
     self.assertEqual(set(self.test_images), set(cluster.metadata.images))
예제 #3
0
 def __init__(self, album_id, discid=None):
     DataObject.__init__(self, album_id)
     self.metadata = Metadata()
     self.orig_metadata = Metadata()
     self.tracks = []
     self.loaded = False
     self.load_task = None
     self.release_group = None
     self._files_count = 0
     self._requests = 0
     self._tracks_loaded = False
     self._discids = set()
     self._recordings_map = {}
     if discid:
         self._discids.add(discid)
     self._after_load_callbacks = []
     self.unmatched_files = Cluster(_("Unmatched Files"),
                                    special=True,
                                    related_album=self,
                                    hide_if_empty=True)
     self.unmatched_files.metadata_images_changed.connect(
         self.update_metadata_images)
     self.status = AlbumStatus.NONE
     self._album_artists = []
     self.update_metadata_images_enabled = True
예제 #4
0
 def test_add_to_cluster(self):
     cluster = Cluster('Test')
     cluster.files = [self.test_files[0]]
     update_metadata_images(cluster)
     cluster.files += self.test_files[1:]
     add_metadata_images(cluster, self.test_files[1:])
     self.assertEqual(set(self.test_images), set(cluster.metadata.images))
     self.assertFalse(cluster.metadata.has_common_images)
예제 #5
0
 def test_remove_from_cluster_with_common_images(self):
     cluster = Cluster('Test')
     cluster.files = list(self.test_files[1:])
     update_metadata_images(cluster)
     cluster.files.remove(self.test_files[1])
     remove_metadata_images(cluster, [self.test_files[1]])
     self.assertEqual(set(self.test_images[1:]), set(cluster.metadata.images))
     self.assertTrue(cluster.metadata.has_common_images)
예제 #6
0
 def load_cluster(self, name, artist):
     for cluster in self.clusters:
         cm = cluster.metadata
         if name == cm["album"] and artist == cm["albumartist"]:
             return cluster
     cluster = Cluster(name, artist)
     self.clusters.append(cluster)
     self.cluster_added.emit(cluster)
     return cluster
예제 #7
0
 def __init__(self, id, discid=None):
     DataObject.__init__(self, id)
     self.metadata = Metadata()
     self.tracks = []
     self.loaded = False
     self.load_task = None
     self.release_group = None
     self._files = 0
     self._requests = 0
     self._tracks_loaded = False
     self._discid = discid
     self._after_load_callbacks = []
     self.unmatched_files = Cluster(_("Unmatched Files"), special=True, related_album=self, hide_if_empty=True)
     self.errors = []
예제 #8
0
파일: album.py 프로젝트: Flapstah/picard
 def __init__(self, id, discid=None):
     DataObject.__init__(self, id)
     self.metadata = Metadata()
     self.tracks = []
     self.format_str = ""
     self.loaded = False
     self.load_task = None
     self.rgloaded = False
     self.rgid = None
     self._files = 0
     self._requests = 0
     self._tracks_loaded = False
     self._discid = discid
     self._after_load_callbacks = queue.Queue()
     self.other_versions = []
     self.unmatched_files = Cluster(_("Unmatched Files"),
                                    special=True,
                                    related_album=self,
                                    hide_if_empty=True)
예제 #9
0
    def test_update_cluster_images(self):
        cluster = Cluster('Test')
        cluster.files = list(self.test_files)
        update_metadata_images(cluster)
        self.assertEqual(set(self.test_images), set(cluster.metadata.images))
        self.assertFalse(cluster.metadata.has_common_images)

        cluster.files.remove(self.test_files[2])
        update_metadata_images(cluster)
        self.assertEqual(set(self.test_images), set(cluster.metadata.images))
        self.assertFalse(cluster.metadata.has_common_images)

        cluster.files.remove(self.test_files[0])
        update_metadata_images(cluster)
        self.assertEqual(set(self.test_images[1:]), set(cluster.metadata.images))
        self.assertTrue(cluster.metadata.has_common_images)

        cluster.files.append(self.test_files[2])
        update_metadata_images(cluster)
        self.assertEqual(set(self.test_images[1:]), set(cluster.metadata.images))
        self.assertTrue(cluster.metadata.has_common_images)
예제 #10
0
 def test_cmd_is_complete_with_cluster(self):
     file = MagicMock()
     cluster = Cluster(name="Test")
     cluster.files.append(file)
     file.parent = cluster
     self.assertScriptResultEquals("$is_complete()", "", file=file)
예제 #11
0
 def test_cmd_matchedtracks_with_cluster(self):
     file = MagicMock()
     cluster = Cluster(name="Test")
     cluster.files.append(file)
     file.parent = cluster
     self.assertScriptResultEquals("$matchedtracks()", "0", file=file)
예제 #12
0
 def test_add_nothing(self):
     cluster = Cluster('Test')
     cluster.files = self.test_files
     update_metadata_images(cluster)
     added = add_metadata_images(cluster, [])
     self.assertFalse(added)