From ee856dd06e6c6ea5936f26587011bd244b951902 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 01:41:22 +0200 Subject: [PATCH 01/10] Switch to using xdg cache folder for spotify cache --- mopidy/backends/spotify/session_manager.py | 6 +++++- mopidy/settings.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mopidy/backends/spotify/session_manager.py b/mopidy/backends/spotify/session_manager.py index 2c6509ed..ea689a2d 100644 --- a/mopidy/backends/spotify/session_manager.py +++ b/mopidy/backends/spotify/session_manager.py @@ -1,3 +1,4 @@ +import glib import logging import os import threading @@ -18,12 +19,15 @@ from mopidy.utils.process import BaseThread logger = logging.getLogger('mopidy.backends.spotify.session_manager') +DEFAULT_CACHE_LOCATION = os.path.join(glib.get_user_cache_dir(), 'spotify') + # pylint: disable = R0901 # SpotifySessionManager: Too many ancestors (9/7) + class SpotifySessionManager(BaseThread, PyspotifySessionManager): cache_location = settings.SPOTIFY_CACHE_PATH - settings_location = settings.SPOTIFY_CACHE_PATH + settings_location = settings.SPOTIFY_CACHE_PATH or DEFAULT_CACHE_LOCATION appkey_file = os.path.join(os.path.dirname(__file__), 'spotify_appkey.key') user_agent = 'Mopidy %s' % get_version() diff --git a/mopidy/settings.py b/mopidy/settings.py index f3e012ed..f215ea42 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -237,7 +237,7 @@ SHOUTCAST_OUTPUT_ENCODER = u'lame mode=stereo bitrate=320' #: Path to the Spotify cache. #: #: Used by :mod:`mopidy.backends.spotify`. -SPOTIFY_CACHE_PATH = u'~/.mopidy/spotify_cache' +SPOTIFY_CACHE_PATH = u'' #: Your Spotify Premium username. #: From f365786c9d3b4a9a68f95813b073bff581c382cb Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 01:45:21 +0200 Subject: [PATCH 02/10] Switch to get_user_config_dir() instead of .mopidy --- mopidy/utils/settings.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mopidy/utils/settings.py b/mopidy/utils/settings.py index 3f7593af..a4d8052b 100644 --- a/mopidy/utils/settings.py +++ b/mopidy/utils/settings.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from copy import copy import getpass +import glib import logging import os from pprint import pformat @@ -20,7 +21,7 @@ class SettingsProxy(object): self.runtime = {} def _get_local_settings(self): - dotdir = os.path.expanduser(u'~/.mopidy/') + dotdir = os.path.join(glib.get_user_config_dir(), 'mopidy') settings_file = os.path.join(dotdir, u'settings.py') if not os.path.isfile(settings_file): return {} From f4839087618fee44fcf93c7123b6b06abe145594 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 01:56:14 +0200 Subject: [PATCH 03/10] Switch to using SETTINGS_FOLDER and SETTINGS_FILE derived from xdg --- mopidy/__init__.py | 6 ++++++ mopidy/core.py | 6 +++--- mopidy/utils/settings.py | 8 +++----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mopidy/__init__.py b/mopidy/__init__.py index 7b25c525..fdcb11d7 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -3,10 +3,16 @@ import sys if not (2, 6) <= sys.version_info < (3,): sys.exit(u'Mopidy requires Python >= 2.6, < 3') +import glib +import os + from subprocess import PIPE, Popen VERSION = (0, 6, 0) +SETTINGS_FOLDER = os.path.join(glib.get_user_config_dir(), 'mopidy') +SETTINGS_FILE = os.path.join(SETTINGS_FOLDER, 'settings.py') + def get_version(): try: return get_git_version() diff --git a/mopidy/core.py b/mopidy/core.py index b3ce9070..c16f32c8 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -18,7 +18,7 @@ sys.argv[1:] = gstreamer_args from pykka.registry import ActorRegistry from mopidy import (get_version, settings, OptionalDependencyError, - SettingsError) + SettingsError, SETTINGS_FOLDER, SETTINGS_FILE) from mopidy.gstreamer import GStreamer from mopidy.utils import get_class from mopidy.utils.log import setup_logging @@ -78,8 +78,8 @@ def parse_options(): return parser.parse_args(args=mopidy_args)[0] def setup_settings(interactive): - get_or_create_folder('~/.mopidy/') - get_or_create_file('~/.mopidy/settings.py') + get_or_create_folder(SETTINGS_FOLDER) + get_or_create_file(SETTINGS_FILE) try: settings.validate(interactive) except SettingsError, e: diff --git a/mopidy/utils/settings.py b/mopidy/utils/settings.py index a4d8052b..60a02957 100644 --- a/mopidy/utils/settings.py +++ b/mopidy/utils/settings.py @@ -8,7 +8,7 @@ import os from pprint import pformat import sys -from mopidy import SettingsError +from mopidy import SettingsError, SETTINGS_FOLDER, SETTINGS_FILE from mopidy.utils.log import indent logger = logging.getLogger('mopidy.utils.settings') @@ -21,11 +21,9 @@ class SettingsProxy(object): self.runtime = {} def _get_local_settings(self): - dotdir = os.path.join(glib.get_user_config_dir(), 'mopidy') - settings_file = os.path.join(dotdir, u'settings.py') - if not os.path.isfile(settings_file): + if not os.path.isfile(SETTINGS_FILE): return {} - sys.path.insert(0, dotdir) + sys.path.insert(0, SETTINGS_FOLDER) # pylint: disable = F0401 import settings as local_settings_module # pylint: enable = F0401 From aa2c68d88ecd297e43cfceb01322028e5a7e5a5b Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 01:56:32 +0200 Subject: [PATCH 04/10] Add simply check for old .mopidy folder --- mopidy/core.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mopidy/core.py b/mopidy/core.py index c16f32c8..ac25c977 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -1,5 +1,6 @@ import logging import optparse +import os import signal import sys import time @@ -34,6 +35,7 @@ def main(): try: options = parse_options() setup_logging(options.verbosity_level, options.save_debug_log) + check_old_folders() setup_settings(options.interactive) setup_gobject_loop() setup_gstreamer() @@ -77,6 +79,16 @@ def parse_options(): help='list current settings') return parser.parse_args(args=mopidy_args)[0] +def check_old_folders(): + old_settings_folder = os.path.expanduser(u'~/.mopidy') + + if not os.path.isdir(old_settings_folder): + return + + logger.warning(u'Old settings folder found at %s, settings.py should be ' + 'moved to %s, any cache data should be deleted.', old_settings_folder, + SETTINGS_FOLDER) + def setup_settings(interactive): get_or_create_folder(SETTINGS_FOLDER) get_or_create_file(SETTINGS_FILE) From 3468feb1a9cd128f8e0544f4ada2cc4a7c7d628a Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 02:16:44 +0200 Subject: [PATCH 05/10] 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. #: From c112e6d5dfbfcd10e251fd5cfa74c5824bc9cd69 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 02:19:18 +0200 Subject: [PATCH 06/10] Fix conversion of spotify backend to xdg locations --- mopidy/backends/spotify/session_manager.py | 3 ++- mopidy/settings.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mopidy/backends/spotify/session_manager.py b/mopidy/backends/spotify/session_manager.py index ea689a2d..cdea0c5c 100644 --- a/mopidy/backends/spotify/session_manager.py +++ b/mopidy/backends/spotify/session_manager.py @@ -20,13 +20,14 @@ from mopidy.utils.process import BaseThread logger = logging.getLogger('mopidy.backends.spotify.session_manager') DEFAULT_CACHE_LOCATION = os.path.join(glib.get_user_cache_dir(), 'spotify') +DEFAULT_SETTINGS_LOCATION = DEFAULT_CACHE_LOCATION # pylint: disable = R0901 # SpotifySessionManager: Too many ancestors (9/7) class SpotifySessionManager(BaseThread, PyspotifySessionManager): - cache_location = settings.SPOTIFY_CACHE_PATH + cache_location = settings.SPOTIFY_CACHE_PATH or DEFAULT_SETTINGS_LOCATION settings_location = settings.SPOTIFY_CACHE_PATH or DEFAULT_CACHE_LOCATION appkey_file = os.path.join(os.path.dirname(__file__), 'spotify_appkey.key') user_agent = 'Mopidy %s' % get_version() diff --git a/mopidy/settings.py b/mopidy/settings.py index 9eed9c67..6e012a05 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -237,7 +237,7 @@ SHOUTCAST_OUTPUT_ENCODER = u'lame mode=stereo bitrate=320' #: Path to the Spotify cache. #: #: Used by :mod:`mopidy.backends.spotify`. -SPOTIFY_CACHE_PATH = u'' +SPOTIFY_CACHE_PATH = None #: Your Spotify Premium username. #: From a0c62f8245203e4bb25888bc73fc56a78e386c4b Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 02:25:13 +0200 Subject: [PATCH 07/10] Use glib.get_user_special_dir(USER_DIRECTORY_MUSIC) to try and determine LOCAL_MUSIC_PATH --- mopidy/backends/local/__init__.py | 8 +++++++- mopidy/settings.py | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mopidy/backends/local/__init__.py b/mopidy/backends/local/__init__.py index 1751c460..05ea02dd 100644 --- a/mopidy/backends/local/__init__.py +++ b/mopidy/backends/local/__init__.py @@ -1,4 +1,5 @@ import glob +import glib import logging import os import shutil @@ -20,6 +21,11 @@ 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') +DEFAULT_MUSIC_PATH = glib.get_user_special_dir(glib.USER_DIRECTORY_MUSIC) + +if not DEFAULT_MUSIC_PATH or DEFAULT_MUSIC_PATH == os.path.expanduser(u'~'): + DEFAULT_MUSIC_PATH = os.path.expanduser(u'~/music') + class LocalBackend(ThreadingActor, Backend): """ @@ -177,7 +183,7 @@ class LocalLibraryProvider(BaseLibraryProvider): def refresh(self, uri=None): tag_cache = settings.LOCAL_TAG_CACHE_FILE or DEFAULT_TAG_CACHE_FILE - music_folder = settings.LOCAL_MUSIC_PATH + music_folder = settings.LOCAL_MUSIC_PATH or DEFAULT_MUSIC_PATH tracks = parse_mpd_tag_cache(tag_cache, music_folder) diff --git a/mopidy/settings.py b/mopidy/settings.py index 6e012a05..9909973e 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -78,8 +78,9 @@ LASTFM_PASSWORD = u'' #: #: Default:: #: -#: LOCAL_MUSIC_PATH = u'~/music' -LOCAL_MUSIC_PATH = u'~/music' +#: # Defaults to asking glib where music is stored, fallback is ~/music +#: LOCAL_MUSIC_PATH = None +LOCAL_MUSIC_PATH = None #: Path to playlist folder with m3u files for local music. #: From c5b7d5a35edcfca0aeb2073202def51b5c55fcbd Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sun, 17 Jul 2011 02:33:21 +0200 Subject: [PATCH 08/10] Note XDG change in changes file --- docs/changes.rst | 12 ++++++++++++ mopidy/core.py | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index 5d2ab57d..563eac53 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -12,6 +12,18 @@ v0.6.0 (in development) - Pykka 0.12.3 or greater is required. +- All config, data and cache locations are now based on the XDG spec. + + - This means that your settings file will need to be moved from + `~/.mopidy/settings.py` to `~/.config/mopidy/settings.py`. + - Your Spotify cache will now be stored in `~/.cache/spotify` instead of + `~/.mopidy/spotify_cache`, this matches Spotify's own behaviour for their + Linux client. + - Localbackends tag_cache should now be in `~/.local/share/mopidy/tag_cache`, + likewise your playlists will be in `~/.local/share/mopidy/playlists`. + - The local client now tries to lookup where your music is via XDG, it will + fall-back to `~/music` or use whatever setting you set manually. + **Changes** - Replace :attr:`mopidy.backends.base.Backend.uri_handlers` with diff --git a/mopidy/core.py b/mopidy/core.py index 00a6ad77..ea6da28c 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -86,8 +86,8 @@ def check_old_folders(): return logger.warning(u'Old settings folder found at %s, settings.py should be ' - 'moved to %s, any cache data should be deleted.', old_settings_folder, - SETTINGS_FOLDER) + 'moved to %s, any cache data should be deleted. See release notes ' + 'for further instructions.', old_settings_folder, SETTINGS_FOLDER) def setup_settings(interactive): get_or_create_folder(SETTINGS_FOLDER) From 0479adf7fc31f457f7c06d531d0463b5007b85b7 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Mon, 18 Jul 2011 00:15:58 +0200 Subject: [PATCH 09/10] Fix s/_FOLDER/_PATH/, move cache to mopidy instead of spotify folder and fix docs. --- docs/changes.rst | 6 +++--- mopidy/__init__.py | 7 ++++--- mopidy/backends/local/__init__.py | 6 +++--- mopidy/backends/spotify/session_manager.py | 9 +++------ mopidy/core.py | 8 ++++---- mopidy/utils/settings.py | 4 ++-- 6 files changed, 19 insertions(+), 21 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index 6cda6668..9dbcaf61 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -12,14 +12,14 @@ v0.6.0 (in development) - Pykka 0.12.3 or greater is required. -- All config, data and cache locations are now based on the XDG spec. +- All config, data, and cache locations are now based on the XDG spec. - This means that your settings file will need to be moved from `~/.mopidy/settings.py` to `~/.config/mopidy/settings.py`. - - Your Spotify cache will now be stored in `~/.cache/spotify` instead of + - Your Spotify cache will now be stored in `~/.cache/mopidy` instead of `~/.mopidy/spotify_cache`, this matches Spotify's own behaviour for their Linux client. - - Localbackends tag_cache should now be in `~/.local/share/mopidy/tag_cache`, + - The local backend's `tag_cache` should now be in `~/.local/share/mopidy/tag_cache`, likewise your playlists will be in `~/.local/share/mopidy/playlists`. - The local client now tries to lookup where your music is via XDG, it will fall-back to `~/music` or use whatever setting you set manually. diff --git a/mopidy/__init__.py b/mopidy/__init__.py index 9a897089..1d820fd0 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -10,9 +10,10 @@ 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') +DATA_PATH = os.path.join(glib.get_user_data_dir(), 'mopidy') +CACHE_PATH = os.path.join(glib.get_user_cache_dir(), 'mopidy') +SETTINGS_PATH = os.path.join(glib.get_user_config_dir(), 'mopidy') +SETTINGS_FILE = os.path.join(SETTINGS_PATH, 'settings.py') def get_version(): try: diff --git a/mopidy/backends/local/__init__.py b/mopidy/backends/local/__init__.py index 05ea02dd..e689f666 100644 --- a/mopidy/backends/local/__init__.py +++ b/mopidy/backends/local/__init__.py @@ -7,7 +7,7 @@ import shutil from pykka.actor import ThreadingActor from pykka.registry import ActorRegistry -from mopidy import settings, DATA_FOLDER +from mopidy import settings, DATA_PATH from mopidy.backends.base import (Backend, CurrentPlaylistController, LibraryController, BaseLibraryProvider, PlaybackController, BasePlaybackProvider, StoredPlaylistsController, @@ -19,8 +19,8 @@ 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') +DEFAULT_PLAYLIST_PATH = os.path.join(DATA_PATH, 'playlists') +DEFAULT_TAG_CACHE_FILE = os.path.join(DATA_PATH, 'tag_cache') DEFAULT_MUSIC_PATH = glib.get_user_special_dir(glib.USER_DIRECTORY_MUSIC) if not DEFAULT_MUSIC_PATH or DEFAULT_MUSIC_PATH == os.path.expanduser(u'~'): diff --git a/mopidy/backends/spotify/session_manager.py b/mopidy/backends/spotify/session_manager.py index cdea0c5c..9c8853e6 100644 --- a/mopidy/backends/spotify/session_manager.py +++ b/mopidy/backends/spotify/session_manager.py @@ -7,7 +7,7 @@ from spotify.manager import SpotifySessionManager as PyspotifySessionManager from pykka.registry import ActorRegistry -from mopidy import get_version, settings +from mopidy import get_version, settings, CACHE_PATH from mopidy.backends.base import Backend from mopidy.backends.spotify import BITRATES from mopidy.backends.spotify.container_manager import SpotifyContainerManager @@ -19,16 +19,13 @@ from mopidy.utils.process import BaseThread logger = logging.getLogger('mopidy.backends.spotify.session_manager') -DEFAULT_CACHE_LOCATION = os.path.join(glib.get_user_cache_dir(), 'spotify') -DEFAULT_SETTINGS_LOCATION = DEFAULT_CACHE_LOCATION - # pylint: disable = R0901 # SpotifySessionManager: Too many ancestors (9/7) class SpotifySessionManager(BaseThread, PyspotifySessionManager): - cache_location = settings.SPOTIFY_CACHE_PATH or DEFAULT_SETTINGS_LOCATION - settings_location = settings.SPOTIFY_CACHE_PATH or DEFAULT_CACHE_LOCATION + cache_location = settings.SPOTIFY_CACHE_PATH or CACHE_PATH + settings_location = settings.SPOTIFY_CACHE_PATH or CACHE_PATH appkey_file = os.path.join(os.path.dirname(__file__), 'spotify_appkey.key') user_agent = 'Mopidy %s' % get_version() diff --git a/mopidy/core.py b/mopidy/core.py index 97b4ed5c..bf794655 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -21,7 +21,7 @@ sys.argv[1:] = gstreamer_args from pykka.registry import ActorRegistry from mopidy import (get_version, settings, OptionalDependencyError, - SettingsError, DATA_FOLDER, SETTINGS_FOLDER, SETTINGS_FILE) + SettingsError, DATA_PATH, SETTINGS_PATH, SETTINGS_FILE) from mopidy.gstreamer import GStreamer from mopidy.utils import get_class from mopidy.utils.log import setup_logging @@ -89,11 +89,11 @@ def check_old_folders(): logger.warning(u'Old settings folder found at %s, settings.py should be ' 'moved to %s, any cache data should be deleted. See release notes ' - 'for further instructions.', old_settings_folder, SETTINGS_FOLDER) + 'for further instructions.', old_settings_folder, SETTINGS_PATH) def setup_settings(interactive): - get_or_create_folder(SETTINGS_FOLDER) - get_or_create_folder(DATA_FOLDER) + get_or_create_folder(SETTINGS_PATH) + get_or_create_folder(DATA_PATH) get_or_create_file(SETTINGS_FILE) try: settings.validate(interactive) diff --git a/mopidy/utils/settings.py b/mopidy/utils/settings.py index 60a02957..fca4f337 100644 --- a/mopidy/utils/settings.py +++ b/mopidy/utils/settings.py @@ -8,7 +8,7 @@ import os from pprint import pformat import sys -from mopidy import SettingsError, SETTINGS_FOLDER, SETTINGS_FILE +from mopidy import SettingsError, SETTINGS_PATH, SETTINGS_FILE from mopidy.utils.log import indent logger = logging.getLogger('mopidy.utils.settings') @@ -23,7 +23,7 @@ class SettingsProxy(object): def _get_local_settings(self): if not os.path.isfile(SETTINGS_FILE): return {} - sys.path.insert(0, SETTINGS_FOLDER) + sys.path.insert(0, SETTINGS_PATH) # pylint: disable = F0401 import settings as local_settings_module # pylint: enable = F0401 From 2ec9570a4c020a497feef0a98652fac34772b4ff Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 18 Jul 2011 10:17:59 +0200 Subject: [PATCH 10/10] Formatting --- docs/changes.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index 9dbcaf61..0a9ab925 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -15,14 +15,15 @@ v0.6.0 (in development) - All config, data, and cache locations are now based on the XDG spec. - This means that your settings file will need to be moved from - `~/.mopidy/settings.py` to `~/.config/mopidy/settings.py`. - - Your Spotify cache will now be stored in `~/.cache/mopidy` instead of - `~/.mopidy/spotify_cache`, this matches Spotify's own behaviour for their + ``~/.mopidy/settings.py`` to ``~/.config/mopidy/settings.py``. + - Your Spotify cache will now be stored in ``~/.cache/mopidy`` instead of + ``~/.mopidy/spotify_cache``, this matches Spotify's own behaviour for their Linux client. - - The local backend's `tag_cache` should now be in `~/.local/share/mopidy/tag_cache`, - likewise your playlists will be in `~/.local/share/mopidy/playlists`. + - The local backend's ``tag_cache`` should now be in + ``~/.local/share/mopidy/tag_cache``, likewise your playlists will be in + ``~/.local/share/mopidy/playlists``. - The local client now tries to lookup where your music is via XDG, it will - fall-back to `~/music` or use whatever setting you set manually. + fall-back to ``~/music`` or use whatever setting you set manually. **Changes** @@ -34,7 +35,7 @@ v0.6.0 (in development) ad hoc events the Last.fm scrobbler has already been using for some time. - Replaced all of the MPD network code that was provided by asyncore with custom stack. This change was made to facilitate the future support of the - `idle` command, and to reduce the number of event loops being used. + ``idle`` command, and to reduce the number of event loops being used. - Fix metadata update in Shoutcast streaming (Fixes: :issue:`122`)