diff --git a/mopidy/utils/settings.py b/mopidy/utils/settings.py index eeb5c32f..e80731af 100644 --- a/mopidy/utils/settings.py +++ b/mopidy/utils/settings.py @@ -3,6 +3,7 @@ from __future__ import absolute_import from copy import copy import logging import os +from pprint import pformat import sys from mopidy import SettingsError @@ -150,9 +151,9 @@ def format_settings_list(settings): default_value = settings.default.get(key) value = mask_value_if_secret(key, value) lines.append(u'%s:' % key) - lines.append(u' Value: %s' % repr(value)) + lines.append(u' Value: %s' % indent(pformat(value))) if value != default_value and default_value is not None: - lines.append(u' Default: %s' % repr(default_value)) + lines.append(u' Default: %s' % indent(pformat(default_value))) if errors.get(key) is not None: lines.append(u' Error: %s' % errors[key]) return '\n'.join(lines) diff --git a/tests/utils/settings_test.py b/tests/utils/settings_test.py index f23ce06d..896f1b6a 100644 --- a/tests/utils/settings_test.py +++ b/tests/utils/settings_test.py @@ -171,3 +171,18 @@ class FormatSettingListTest(unittest.TestCase): result = format_settings_list(self.settings) self.assert_("Value: u'secret'" not in result, result) self.assert_("Value: u'********'" in result, result) + + def test_short_values_are_not_pretty_printed(self): + self.settings.FRONTEND = (u'mopidy.frontends.mpd.MpdFrontend',) + result = format_settings_list(self.settings) + self.assert_("Value: (u'mopidy.frontends.mpd.MpdFrontend',)" in result, + result) + + def test_long_values_are_pretty_printed(self): + self.settings.FRONTEND = (u'mopidy.frontends.mpd.MpdFrontend', + u'mopidy.frontends.lastfm.LastfmFrontend') + result = format_settings_list(self.settings) + self.assert_("""FRONTEND: + Value: + (u'mopidy.frontends.mpd.MpdFrontend', + u'mopidy.frontends.lastfm.LastfmFrontend')""" in result, result)