Switch local backend over to xdg_data_dir
This commit is contained in:
parent
aa2c68d88e
commit
3468feb1a9
@ -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')
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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.
|
||||
#:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user