From 3468feb1a9cd128f8e0544f4ada2cc4a7c7d628a Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 02:16:44 +0200 Subject: [PATCH] Switch local backend over to xdg_data_dir --- mopidy/__init__.py | 1 + mopidy/backends/local/__init__.py | 9 ++++++--- mopidy/core.py | 3 ++- mopidy/settings.py | 10 +++++----- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/mopidy/__init__.py b/mopidy/__init__.py index fdcb11d7..9a897089 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -10,6 +10,7 @@ from subprocess import PIPE, Popen VERSION = (0, 6, 0) +DATA_FOLDER = os.path.join(glib.get_user_data_dir(), 'mopidy') SETTINGS_FOLDER = os.path.join(glib.get_user_config_dir(), 'mopidy') SETTINGS_FILE = os.path.join(SETTINGS_FOLDER, 'settings.py') diff --git a/mopidy/backends/local/__init__.py b/mopidy/backends/local/__init__.py index af80a8eb..1751c460 100644 --- a/mopidy/backends/local/__init__.py +++ b/mopidy/backends/local/__init__.py @@ -6,7 +6,7 @@ import shutil from pykka.actor import ThreadingActor from pykka.registry import ActorRegistry -from mopidy import settings +from mopidy import settings, DATA_FOLDER from mopidy.backends.base import (Backend, CurrentPlaylistController, LibraryController, BaseLibraryProvider, PlaybackController, BasePlaybackProvider, StoredPlaylistsController, @@ -18,6 +18,9 @@ from .translator import parse_m3u, parse_mpd_tag_cache logger = logging.getLogger(u'mopidy.backends.local') +DEFAULT_PLAYLIST_PATH = os.path.join(DATA_FOLDER, 'playlists') +DEFAULT_TAG_CACHE_FILE = os.path.join(DATA_FOLDER, 'tag_cache') + class LocalBackend(ThreadingActor, Backend): """ A backend for playing music from a local music archive. @@ -96,7 +99,7 @@ class LocalPlaybackProvider(BasePlaybackProvider): class LocalStoredPlaylistsProvider(BaseStoredPlaylistsProvider): def __init__(self, *args, **kwargs): super(LocalStoredPlaylistsProvider, self).__init__(*args, **kwargs) - self._folder = settings.LOCAL_PLAYLIST_PATH + self._folder = settings.LOCAL_PLAYLIST_PATH or DEFAULT_PLAYLIST_PATH self.refresh() def lookup(self, uri): @@ -173,7 +176,7 @@ class LocalLibraryProvider(BaseLibraryProvider): self.refresh() def refresh(self, uri=None): - tag_cache = settings.LOCAL_TAG_CACHE_FILE + tag_cache = settings.LOCAL_TAG_CACHE_FILE or DEFAULT_TAG_CACHE_FILE music_folder = settings.LOCAL_MUSIC_PATH tracks = parse_mpd_tag_cache(tag_cache, music_folder) diff --git a/mopidy/core.py b/mopidy/core.py index ac25c977..00a6ad77 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -19,7 +19,7 @@ sys.argv[1:] = gstreamer_args from pykka.registry import ActorRegistry from mopidy import (get_version, settings, OptionalDependencyError, - SettingsError, SETTINGS_FOLDER, SETTINGS_FILE) + SettingsError, DATA_FOLDER, SETTINGS_FOLDER, SETTINGS_FILE) from mopidy.gstreamer import GStreamer from mopidy.utils import get_class from mopidy.utils.log import setup_logging @@ -91,6 +91,7 @@ def check_old_folders(): def setup_settings(interactive): get_or_create_folder(SETTINGS_FOLDER) + get_or_create_folder(DATA_FOLDER) get_or_create_file(SETTINGS_FILE) try: settings.validate(interactive) diff --git a/mopidy/settings.py b/mopidy/settings.py index f215ea42..9eed9c67 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -4,7 +4,7 @@ Available settings and their default values. .. warning:: Do *not* change settings directly in :mod:`mopidy.settings`. Instead, add a - file called ``~/.mopidy/settings.py`` and redefine settings there. + file called ``~/.config/mopidy/settings.py`` and redefine settings there. """ #: List of playback backends to use. See :mod:`mopidy.backends` for all @@ -87,8 +87,8 @@ LOCAL_MUSIC_PATH = u'~/music' #: #: Default:: #: -#: LOCAL_PLAYLIST_PATH = u'~/.mopidy/playlists' -LOCAL_PLAYLIST_PATH = u'~/.mopidy/playlists' +#: LOCAL_PLAYLIST_PATH = None # Implies $XDG_DATA_DIR/mopidy/playlists +LOCAL_PLAYLIST_PATH = None #: Path to tag cache for local music. #: @@ -96,8 +96,8 @@ LOCAL_PLAYLIST_PATH = u'~/.mopidy/playlists' #: #: Default:: #: -#: LOCAL_TAG_CACHE_FILE = u'~/.mopidy/tag_cache' -LOCAL_TAG_CACHE_FILE = u'~/.mopidy/tag_cache' +#: LOCAL_TAG_CACHE_FILE = None # Implies $XDG_DATA_DIR/mopidy/tag_cache +LOCAL_TAG_CACHE_FILE = None #: Sound mixer to use. See :mod:`mopidy.mixers` for all available mixers. #: