Use pprint to format long setting values

This commit is contained in:
Stein Magnus Jodal 2011-05-19 22:31:04 +02:00
parent 7074b4928c
commit a760a7fdb4
2 changed files with 18 additions and 2 deletions

View File

@ -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)

View File

@ -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)