diff --git a/mopidy/frontends/mpd/translator.py b/mopidy/frontends/mpd/translator.py index 514e167f..69be17ed 100644 --- a/mopidy/frontends/mpd/translator.py +++ b/mopidy/frontends/mpd/translator.py @@ -23,7 +23,7 @@ def track_to_mpd_format(track, position=None, cpid=None, key=False, mtime=False) :rtype: list of two-tuples """ result = [ - ('file', uri_to_mpd_relative_path(track.uri) or ''), + ('file', track.uri or ''), ('Time', track.length and (track.length // 1000) or 0), ('Artist', artists_to_mpd_format(track.artists)), ('Title', track.name or ''), @@ -91,19 +91,6 @@ def playlist_to_mpd_format(playlist, *args, **kwargs): """ return tracks_to_mpd_format(playlist.tracks, *args, **kwargs) -def uri_to_mpd_relative_path(uri): - """ - Strip uri and LOCAL_MUSIC_FOLDER part of uri. - - :param uri: the uri - :type uri: string - :rtype: string - """ - if uri is None: - return '' - path = path_to_uri(settings.LOCAL_MUSIC_FOLDER) - return re.sub('^' + re.escape(path), '', uri) - def tracks_to_tag_cache_format(tracks): """ Format list of tracks for output to MPD tag cache @@ -138,7 +125,7 @@ def _add_to_tag_cache(result, folders, files): def tracks_to_directory_tree(tracks): directories = ({}, []) for track in tracks: - uri = uri_to_mpd_relative_path(track.uri) + uri = track.uri path = '' current = directories for part in split_path(os.path.dirname(uri_to_path(uri))): diff --git a/tests/frontends/mpd/serializer_test.py b/tests/frontends/mpd/serializer_test.py index 74a4184f..4123e87f 100644 --- a/tests/frontends/mpd/serializer_test.py +++ b/tests/frontends/mpd/serializer_test.py @@ -57,12 +57,6 @@ class TrackMpdFormatTest(unittest.TestCase): result = translator.track_to_mpd_format(Track(uri=uri), mtime=True) self.assert_(('mtime', 1234567) in result) - def test_track_to_mpd_format_track_uses_uri_to_mpd_relative_path(self): - track = Track(uri='file:///dir/subdir/song.mp3') - path = dict(translator.track_to_mpd_format(track))['file'] - correct_path = translator.uri_to_mpd_relative_path(track.uri) - self.assertEqual(path, correct_path) - def test_track_to_mpd_format_for_nonempty_track(self): track = Track( uri=u'a uri', @@ -108,26 +102,7 @@ class PlaylistMpdFormatTest(unittest.TestCase): self.assertEqual(dict(result[0])['Track'], 2) -class UriToMpdRelativePathTest(unittest.TestCase): - def setUp(self): - settings.LOCAL_MUSIC_FOLDER = '/dir/subdir' - - def tearDown(self): - settings.runtime.clear() - - def test_none_file_returns_empty_string(self): - uri = 'file:///dir/subdir/music/album/song.mp3' - result = translator.uri_to_mpd_relative_path(None) - self.assertEqual('', result) - - def test_file_gets_stripped(self): - uri = 'file:///dir/subdir/music/album/song.mp3' - result = translator.uri_to_mpd_relative_path(uri) - self.assertEqual('/music/album/song.mp3', result) - - class TracksToTagCacheFormatTest(unittest.TestCase): - def setUp(self): settings.LOCAL_MUSIC_FOLDER = '/dir/subdir' mtime.set_fake_time(1234567) @@ -300,7 +275,7 @@ class TracksToTagCacheFormatTest(unittest.TestCase): class TracksToDirectoryTreeTest(unittest.TestCase): def setUp(self): - settings.LOCAL_MUSIC_FOLDER = '/' + settings.LOCAL_MUSIC_FOLDER = '/root/' def tearDown(self): settings.runtime.clear() @@ -311,32 +286,32 @@ class TracksToDirectoryTreeTest(unittest.TestCase): def test_top_level_files(self): tracks = [ - Track(uri='file:///file1.mp3'), - Track(uri='file:///file2.mp3'), - Track(uri='file:///file3.mp3'), + Track(uri='file:///root/file1.mp3'), + Track(uri='file:///root/file2.mp3'), + Track(uri='file:///root/file3.mp3'), ] tree = translator.tracks_to_directory_tree(tracks) self.assertEqual(tree, ({}, tracks)) def test_single_file_in_subdir(self): - tracks = [Track(uri='file:///dir/file1.mp3')] + tracks = [Track(uri='file:///root/dir/file1.mp3')] tree = translator.tracks_to_directory_tree(tracks) expected = ({'dir': ({}, tracks)}, []) self.assertEqual(tree, expected) def test_single_file_in_sub_subdir(self): - tracks = [Track(uri='file:///dir1/dir2/file1.mp3')] + tracks = [Track(uri='file:///root/dir1/dir2/file1.mp3')] tree = translator.tracks_to_directory_tree(tracks) expected = ({'dir1': ({'dir1/dir2': ({}, tracks)}, [])}, []) self.assertEqual(tree, expected) def test_complex_file_structure(self): tracks = [ - Track(uri='file:///file1.mp3'), - Track(uri='file:///dir1/file2.mp3'), - Track(uri='file:///dir1/file3.mp3'), - Track(uri='file:///dir2/file4.mp3'), - Track(uri='file:///dir2/sub/file5.mp3'), + Track(uri='file:///root/file1.mp3'), + Track(uri='file:///root/dir1/file2.mp3'), + Track(uri='file:///root/dir1/file3.mp3'), + Track(uri='file:///root/dir2/file4.mp3'), + Track(uri='file:///root/dir2/sub/file5.mp3'), ] tree = translator.tracks_to_directory_tree(tracks) expected = (