def _update_related_album(self, added_files=None, removed_files=None): if self.related_album: if added_files: add_metadata_images(self.related_album, added_files) if removed_files: remove_metadata_images(self.related_album, removed_files) self.related_album.update()
def add_file(self, file): if file not in self.linked_files: self.linked_files.append(file) self.num_linked_files += 1 self.update_file_metadata(file) add_metadata_images(self, [file]) self.album._add_file(self, file) file.metadata_images_changed.connect(self.update_orig_metadata_images)
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)
def add_file(self, file): if file not in self.linked_files: self.linked_files.append(file) self.num_linked_files += 1 self.update_file_metadata(file) add_metadata_images(self, [file]) self.album._add_file(self, file) file.metadata_images_changed.connect(self.update_orig_metadata_images) run_file_post_addition_to_track_processors(self, file)
def add_file(self, file): self.metadata.length += file.metadata.length self.files.append(file) self.metadata['totaltracks'] = len(self.files) file._move(self) file.update(signal=False) if self.can_show_coverart: file.metadata_images_changed.connect(self.update_metadata_images) add_metadata_images(self, [file]) self.item.add_file(file) self._update_related_album(added_files=[file])
def add_file(self, file): if file not in self.linked_files: track_will_expand = self.num_linked_files == 1 self.linked_files.append(file) self.num_linked_files += 1 self.update_file_metadata(file) add_metadata_images(self, [file]) self.album._add_file(self, file) file.metadata_images_changed.connect(self.update_orig_metadata_images) run_file_post_addition_to_track_processors(self, file) if track_will_expand: # Files get expanded, ensure the existing item renders correctly self.linked_files[0].update_item()
def add_files(self, files): for file in files: self.metadata.length += file.metadata.length file._move(self) file.update(signal=False) if self.can_show_coverart: file.metadata_images_changed.connect(self.update_metadata_images) self.files.extend(files) self.metadata['totaltracks'] = len(self.files) self.item.add_files(files) if self.can_show_coverart: add_metadata_images(self, files) self._update_related_album(added_files=files)
def add_file(self, file, new_album=True): if file not in self.files: track_will_expand = self.num_linked_files == 1 if not self.files: # The track uses original metadata from the file only self._orig_images = self.orig_metadata.images self.orig_metadata.images = ImageList() self.files.append(file) self.update_file_metadata(file) add_metadata_images(self, [file]) self.album.add_file(self, file, new_album=new_album) file.metadata_images_changed.connect(self.update_metadata_images) run_file_post_addition_to_track_processors(self, file) if track_will_expand: # Files get expanded, ensure the existing item renders correctly self.files[0].update_item()
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))
def add_files(self, files, new_album=True): added_files = set(files) - set(self.files) if not added_files: return for file in added_files: self.metadata.length += file.metadata.length file._move(self) file.update(signal=False) if self.can_show_coverart: file.metadata_images_changed.connect(self.update_metadata_images) added_files = sorted(added_files, key=attrgetter('discnumber', 'tracknumber', 'base_filename')) self.files.extend(added_files) self.metadata['totaltracks'] = len(self.files) if self.can_show_coverart: add_metadata_images(self, added_files) self.item.add_files(added_files) if new_album: self._update_related_album(added_files=added_files)
def _add_file(self, track, file): self._files += 1 self.update(update_tracks=False) add_metadata_images(self, [file]) file.metadata_images_changed.connect(self.update_metadata_images)
def _add_file(self, track, file, new_album=True): self._files += 1 if new_album: self.update(update_tracks=False) add_metadata_images(self, [file])
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)