Exemplo n.º 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()
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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])
Exemplo n.º 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()
Exemplo n.º 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)
Exemplo n.º 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()
Exemplo n.º 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))
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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])
Exemplo n.º 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)