local: Add local/data_dir config value.

Not in use yet but, needed for future changes planed in this branch.
This commit is contained in:
Thomas Adamcik 2013-12-23 21:34:21 +01:00
parent decce4ccf6
commit 353782e2c8
8 changed files with 19 additions and 8 deletions

View File

@ -39,6 +39,11 @@ Configuration values
Path to directory with local media files.
.. confval:: local/data_dir
Path to directory to store local metadata such as libraries and playlists
in.
.. confval:: local/playlists_dir
Path to playlists directory with m3u files for local media.

View File

@ -5,7 +5,6 @@ import os
import mopidy
from mopidy import config, ext
from mopidy.utils import encoding, path
logger = logging.getLogger('mopidy.backends.local')
@ -23,6 +22,7 @@ class Extension(ext.Extension):
def get_config_schema(self):
schema = super(Extension, self).get_config_schema()
schema['media_dir'] = config.Path()
schema['data_dir'] = config.Path()
schema['playlists_dir'] = config.Path()
schema['tag_cache_file'] = config.Deprecated()
schema['scan_timeout'] = config.Integer(
@ -30,13 +30,6 @@ class Extension(ext.Extension):
schema['excluded_file_extensions'] = config.List(optional=True)
return schema
def validate_environment(self):
try:
path.get_or_create_dir(b'$XDG_DATA_DIR/mopidy/local')
except EnvironmentError as error:
error = encoding.locale_decode(error)
logger.warning('Could not create local data dir: %s', error)
def get_backend_classes(self):
from .actor import LocalBackend
return [LocalBackend]

View File

@ -32,6 +32,14 @@ class LocalBackend(pykka.ThreadingActor, base.Backend):
logger.warning('Local media dir %s does not exist.' %
self.config['local']['media_dir'])
try:
path.get_or_create_dir(self.config['local']['data_dir'])
except EnvironmentError as error:
logger.warning(
'Could not create local data dir: %s',
encoding.locale_decode(error))
# TODO: replace with data dir?
try:
path.get_or_create_dir(self.config['local']['playlists_dir'])
except EnvironmentError as error:

View File

@ -1,6 +1,7 @@
[local]
enabled = true
media_dir = $XDG_MUSIC_DIR
data_dir = $XDG_DATA_DIR/mopidy/local
playlists_dir = $XDG_DATA_DIR/mopidy/local/playlists
scan_timeout = 1000
excluded_file_extensions =

View File

@ -17,6 +17,7 @@ class LocalBackendEventsTest(unittest.TestCase):
config = {
'local': {
'media_dir': path_to_data_dir(''),
'data_dir': path_to_data_dir(''),
'playlists_dir': b'',
}
}

View File

@ -22,6 +22,7 @@ class LocalPlaybackProviderTest(unittest.TestCase):
config = {
'local': {
'media_dir': path_to_data_dir(''),
'data_dir': path_to_data_dir(''),
'playlists_dir': b'',
}
}

View File

@ -20,6 +20,7 @@ class LocalPlaylistsProviderTest(unittest.TestCase):
config = {
'local': {
'media_dir': path_to_data_dir(''),
'data_dir': path_to_data_dir(''),
}
}

View File

@ -18,6 +18,7 @@ class LocalTracklistProviderTest(unittest.TestCase):
config = {
'local': {
'media_dir': path_to_data_dir(''),
'data_dir': path_to_data_dir(''),
'playlists_dir': b'',
}
}