Beispiel #1
0
def test_local_uri_to_path(uri, path):
    media_dir = b'/home/alice/Music'

    assert translator.local_uri_to_path(uri, media_dir) == path

    # Legacy version to keep old versions of Mopidy-Local-Sqlite working
    assert translator.local_track_uri_to_path(uri, media_dir) == path
Beispiel #2
0
def test_local_uri_to_path(uri, path):
    media_dir = b'/home/alice/Music'

    assert translator.local_uri_to_path(uri, media_dir) == path

    # Legacy version to keep old versions of Mopidy-Local-Sqlite working
    assert translator.local_track_uri_to_path(uri, media_dir) == path
 def _browse_path(self, uri, encoding=sys.getfilesystemencoding()):
     root = local_uri_to_path(uri, b'')
     dirs, tracks = [], []
     for file in sorted(os.listdir(os.path.join(self._media_dir, root))):
         path = os.path.join(root, file)
         name = file.decode(encoding, 'replace')
         if os.path.isdir(os.path.join(self._media_dir, path)):
             uri = translator.path_to_local_directory_uri(path)
             dirs.append(Ref.directory(uri=uri, name=name))
         elif not path.lower().endswith(self._excluded_ext):
             uri = path_to_file_uri(os.path.join(self._media_dir, path))
             tracks.append(Ref.track(uri=uri, name=name))
         else:
             logger.debug('Skipped %s: File extension excluded.', path)
     return dirs + tracks
Beispiel #4
0
 def _extract_images(self, uri, tags):
     images = set()  # filter duplicate images, e.g. embedded/external
     for image in tags.get('image', []) + tags.get('preview-image', []):
         try:
             # FIXME: gst.Buffer or plain str/bytes type?
             data = getattr(image, 'data', image)
             images.add(self._get_or_create_image_file(None, data))
         except Exception as e:
             logger.warn('Error extracting images for %r: %r', uri, e)
     # look for external album art
     path = translator.local_uri_to_path(uri, self.media_dir)
     dirname = os.path.dirname(path)
     for pattern in self.patterns:
         for path in glob.glob(os.path.join(dirname, pattern)):
             try:
                 images.add(self._get_or_create_image_file(path))
             except Exception as e:
                 logger.warn('Cannot read image file %r: %r', path, e)
     return images
Beispiel #5
0
def test_local_uri_to_path_errors(uri):
    media_dir = b'/home/alice/Music'

    with pytest.raises(ValueError):
        translator.local_uri_to_path(uri, media_dir)
Beispiel #6
0
def test_local_uri_to_path_errors(uri):
    media_dir = b'/home/alice/Music'

    with pytest.raises(ValueError):
        translator.local_uri_to_path(uri, media_dir)