Source code for mopidy.local.translator

from __future__ import absolute_import, unicode_literals

import logging
import os
import urllib

from mopidy import compat
from mopidy.internal import path


logger = logging.getLogger(__name__)


[docs]def local_uri_to_file_uri(uri, media_dir): """Convert local track or directory URI to file URI.""" return path_to_file_uri(local_uri_to_path(uri, media_dir))
[docs]def local_uri_to_path(uri, media_dir): """Convert local track or directory URI to absolute path.""" if ( not uri.startswith('local:directory:') and not uri.startswith('local:track:')): raise ValueError('Invalid URI.') file_path = path.uri_to_path(uri).split(b':', 1)[1] return os.path.join(media_dir, file_path)
def local_track_uri_to_path(uri, media_dir): # Deprecated version to keep old versions of Mopidy-Local-Sqlite working. return local_uri_to_path(uri, media_dir)
[docs]def path_to_file_uri(abspath): """Convert absolute path to file URI.""" # Re-export internal method for use by Mopidy-Local-* extensions. return path.path_to_uri(abspath)
[docs]def path_to_local_track_uri(relpath): """Convert path relative to :confval:`local/media_dir` to local track URI.""" if isinstance(relpath, compat.text_type): relpath = relpath.encode('utf-8') return 'local:track:%s' % urllib.quote(relpath)
[docs]def path_to_local_directory_uri(relpath): """Convert path relative to :confval:`local/media_dir` to directory URI.""" if isinstance(relpath, compat.text_type): relpath = relpath.encode('utf-8') return 'local:directory:%s' % urllib.quote(relpath)