From 03a453eb6495e20b088d2d2360e82869c8dede85 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sat, 1 May 2010 19:48:05 +0200 Subject: [PATCH] Add path_to_uri in utils --- mopidy/utils.py | 4 ++++ tests/utils_test.py | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/mopidy/utils.py b/mopidy/utils.py index af962b49..3bde4a10 100644 --- a/mopidy/utils.py +++ b/mopidy/utils.py @@ -26,12 +26,16 @@ def get_class(name): return class_object def get_or_create_dotdir(dotdir): + # FIXME get_or_create_folder ... dotdir = os.path.expanduser(dotdir) if not os.path.isdir(dotdir): logger.info(u'Creating %s', dotdir) os.mkdir(dotdir, 0755) return dotdir +def path_to_uri(path): + return 'file://' + urllib.pathname2url(path) + def indent(string, places=4, linebreak='\n'): lines = string.split(linebreak) if len(lines) == 1: diff --git a/tests/utils_test.py b/tests/utils_test.py index 63e48201..58d4becd 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -1,15 +1,30 @@ #encoding: utf-8 import os +import sys import tempfile import unittest import urllib -from mopidy.utils import parse_m3u, parse_mpd_tag_cache +from mopidy.utils import parse_m3u, parse_mpd_tag_cache, path_to_uri from mopidy.models import Track, Artist, Album from tests import SkipTest, data_folder +class PathToFileURITest(unittest.TestCase): + def test_windows_paths(self): + if sys.platform != 'win32': + return + result = path_to_uri('c:/WINDOWS/clock.avi') + self.assertEqual(result, 'file:///c:/WINDOWS/clock.avi') + + def test_unix_paths(self): + if sys.platform == 'win32': + return + result = path_to_uri('/etc/fstab') + self.assertEqual(result, 'file:///etc/fstab') + + song1_path = data_folder('song1.mp3') song2_path = data_folder('song2.mp3') encoded_path = data_folder(u'æøå.mp3')