Пример #1
0
 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()
Пример #2
0
 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)
Пример #3
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)
Пример #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 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)
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
 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])
Пример #9
0
 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()
Пример #10
0
 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)
Пример #11
0
 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()
Пример #12
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))
Пример #13
0
 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)
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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])
Пример #17
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)