Use new mtime helper

This commit is contained in:
Thomas Adamcik 2010-10-30 20:58:41 +02:00
parent 92333208de
commit d67bfb9aee
2 changed files with 10 additions and 18 deletions

View File

@ -2,11 +2,10 @@ import os
import re
from mopidy import settings
from mopidy.utils.path import mtime as get_mtime
from mopidy.frontends.mpd import protocol
from mopidy.utils.path import path_to_uri, uri_to_path, split_path
stat = os.stat
def track_to_mpd_format(track, position=None, cpid=None, key=False, mtime=False):
"""
Format track for output to MPD client.
@ -45,8 +44,7 @@ def track_to_mpd_format(track, position=None, cpid=None, key=False, mtime=False)
if key and track.uri:
result.insert(0, ('key', os.path.basename(uri_to_path(track.uri))))
if mtime and track.uri:
mtime = stat(uri_to_path(track.uri)).st_mtime
result.append(('mtime', int(mtime)))
result.append(('mtime', get_mtime(uri_to_path(track.uri))))
return result
def artists_to_mpd_format(artists):
@ -127,7 +125,7 @@ def _add_to_tag_cache(result, folders, files):
for path, entry in folders.items():
name = os.path.split(path)[1]
result.append(('directory', path))
result.append(('mtime', stat(name).st_mtime))
result.append(('mtime', get_mtime(name)))
result.append(('begin', name))
_add_to_tag_cache(result, *entry)
result.append(('end', name))

View File

@ -3,26 +3,20 @@ import os
import unittest
from mopidy import settings
from mopidy.utils.path import mtime
from mopidy.frontends.mpd import translator, protocol
from mopidy.models import Album, Artist, Playlist, Track
from tests import data_folder, SkipTest
def fake_mtime(path):
class StatResult(object):
def __getattr__(self, key):
assert key == 'st_mtime', key
return 1234567
return StatResult()
class TrackMpdFormatTest(unittest.TestCase):
def setUp(self):
settings.LOCAL_MUSIC_FOLDER = '/dir/subdir'
translator.stat = fake_mtime
mtime.set_fake_time(1234567)
def tearDown(self):
settings.runtime.clear()
translator.stat = os.stat
mtime.undo_fake()
def test_track_to_mpd_format_for_empty_track(self):
result = translator.track_to_mpd_format(Track())
@ -136,11 +130,11 @@ class TracksToTagCacheFormatTest(unittest.TestCase):
def setUp(self):
settings.LOCAL_MUSIC_FOLDER = '/dir/subdir'
translator.stat = fake_mtime
mtime.set_fake_time(1234567)
def tearDown(self):
settings.runtime.clear()
translator.stat = os.stat
mtime.undo_fake()
def consume_headers(self, result):
self.assertEqual(('info_begin',), result[0])
@ -158,7 +152,7 @@ class TracksToTagCacheFormatTest(unittest.TestCase):
def consume_directory(self, result):
self.assertEqual('directory', result[0][0])
self.assertEqual(('mtime', fake_mtime('').st_mtime), result[1])
self.assertEqual(('mtime', mtime('.')), result[1])
self.assertEqual(('begin', os.path.split(result[0][1])[1]), result[2])
directory = result[2][1]
for i, row in enumerate(result):
@ -238,7 +232,7 @@ class TracksToTagCacheFormatTest(unittest.TestCase):
folder, result = self.consume_directory(result)
self.assertEqual(('directory', 'folder/sub'), folder[0])
self.assertEqual(('mtime', fake_mtime('').st_mtime), folder[1])
self.assertEqual(('mtime', mtime('.')), folder[1])
self.assertEqual(('begin', 'sub'), folder[2])
def test_tag_cache_suports_sub_directories(self):