def add(self, track, tags=None, duration=None): if track.album and track.album.name: # FIXME: album required uri = translator.local_uri_to_file_uri(track.uri, self.media_dir) try: if tags is None: images = self._extract_images(track.uri, self._scan(uri)) else: images = self._extract_images(track.uri, tags) album = track.album.copy(images=images) track = track.copy(album=album) except Exception as e: logger.warn('Error extracting images for %s: %s', uri, e) if getattr(self.library, 'add_supports_tags_and_duration', False): self.library.add(track, tags, duration) else: self.library.add(track)
def translate_uri(self, uri): return translator.local_uri_to_file_uri( uri, self.backend.config['local']['media_dir'])
def test_local_uri_to_file_uri_errors(uri): media_dir = b'/home/alice/Music' with pytest.raises(ValueError): translator.local_uri_to_file_uri(uri, media_dir)
def test_local_uri_to_file_uri(local_uri, file_uri): media_dir = b'/home/alice/Music' assert translator.local_uri_to_file_uri(local_uri, media_dir) == file_uri