diff --git a/mopidy/__main__.py b/mopidy/__main__.py index c5e4991a..12d27ed3 100644 --- a/mopidy/__main__.py +++ b/mopidy/__main__.py @@ -10,14 +10,14 @@ sys.path.insert(0, from mopidy import get_version, settings, SettingsError from mopidy.process import CoreProcess -from mopidy.utils import get_class, get_or_create_dotdir +from mopidy.utils import get_class, get_or_create_folder logger = logging.getLogger('mopidy.main') def main(): options = _parse_options() _setup_logging(options.verbosity_level) - get_or_create_dotdir('~/.mopidy/') + get_or_create_folder('~/.mopidy/') core_queue = multiprocessing.Queue() get_class(settings.SERVER)(core_queue) core = CoreProcess(core_queue) diff --git a/mopidy/utils.py b/mopidy/utils.py index 93e26c24..a752b3e7 100644 --- a/mopidy/utils.py +++ b/mopidy/utils.py @@ -25,13 +25,12 @@ def get_class(name): class_object = getattr(module, 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 get_or_create_folder(folder): + folder = os.path.expanduser(folder) + if not os.path.isdir(folder): + logger.info(u'Creating %s', folder) + os.mkdir(folder, 0755) + return folder def path_to_uri(*paths): path = os.path.join(*paths) diff --git a/tests/utils_test.py b/tests/utils_test.py index 0c814be0..321eda0b 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -2,15 +2,43 @@ import os import sys +import shutil import tempfile import unittest import urllib -from mopidy.utils import parse_m3u, parse_mpd_tag_cache, path_to_uri +from mopidy.utils import * from mopidy.models import Track, Artist, Album from tests import SkipTest, data_folder +class GetOrCreateFolderTest(unittest.TestCase): + def setUp(self): + self.parent = tempfile.mkdtemp() + + def tearDown(self): + if os.path.isdir(self.parent): + shutil.rmtree(self.parent) + + def test_creating_folder(self): + folder = os.path.join(self.parent, 'test') + self.assert_(not os.path.exists(folder)) + self.assert_(not os.path.isdir(folder)) + created = get_or_create_folder(folder) + self.assert_(os.path.exists(folder)) + self.assert_(os.path.isdir(folder)) + self.assertEqual(created, folder) + + def test_creating_existing_folder(self): + created = get_or_create_folder(self.parent) + self.assert_(os.path.exists(self.parent)) + self.assert_(os.path.isdir(self.parent)) + self.assertEqual(created, self.parent) + + def test_that_userfolder_is_expanded(self): + raise SkipTest # Not sure how to safely test this + + class PathToFileURITest(unittest.TestCase): def test_simple_path(self): if sys.platform == 'win32':