main/settings: Remove --interactive support
This commit is contained in:
parent
6c4ec7e0c2
commit
f9fb30c76c
@ -52,7 +52,7 @@ def main():
|
||||
extensions = filter_enabled_extensions(raw_config, extensions)
|
||||
config = validate_config(raw_config, extensions)
|
||||
check_old_folders()
|
||||
setup_settings(options.interactive)
|
||||
setup_settings()
|
||||
audio = setup_audio(config)
|
||||
backends = setup_backends(config, extensions, audio)
|
||||
core = setup_core(audio, backends)
|
||||
@ -93,10 +93,6 @@ def parse_options():
|
||||
|
||||
# NOTE First argument to add_option must be bytestrings on Python < 2.6.2
|
||||
# See https://github.com/mopidy/mopidy/issues/302 for details
|
||||
parser.add_option(
|
||||
b'-i', '--interactive',
|
||||
action='store_true', dest='interactive',
|
||||
help='ask interactively for required settings which are missing')
|
||||
parser.add_option(
|
||||
b'-q', '--quiet',
|
||||
action='store_const', const=0, dest='verbosity_level',
|
||||
@ -298,12 +294,12 @@ def validate_config(raw_config, extensions):
|
||||
return config
|
||||
|
||||
|
||||
def setup_settings(interactive):
|
||||
def setup_settings():
|
||||
path.get_or_create_folder(path.SETTINGS_PATH)
|
||||
path.get_or_create_folder(path.DATA_PATH)
|
||||
path.get_or_create_file(path.SETTINGS_FILE)
|
||||
try:
|
||||
settings.validate(interactive)
|
||||
settings.validate()
|
||||
except exceptions.SettingsError as ex:
|
||||
logger.error(ex.message)
|
||||
sys.exit(1)
|
||||
|
||||
@ -70,20 +70,13 @@ class SettingsProxy(object):
|
||||
else:
|
||||
super(SettingsProxy, self).__setattr__(attr, value)
|
||||
|
||||
def validate(self, interactive):
|
||||
if interactive:
|
||||
self._read_missing_settings_from_stdin(self.current, self.runtime)
|
||||
def validate(self):
|
||||
if self.get_errors():
|
||||
logger.error(
|
||||
'Settings validation errors: %s',
|
||||
formatting.indent(self.get_errors_as_string()))
|
||||
raise exceptions.SettingsError('Settings validation failed.')
|
||||
|
||||
def _read_missing_settings_from_stdin(self, current, runtime):
|
||||
for setting, value in sorted(current.iteritems()):
|
||||
if isinstance(value, basestring) and len(value) == 0:
|
||||
runtime[setting] = self._read_from_stdin(setting + ': ')
|
||||
|
||||
def _read_from_stdin(self, prompt):
|
||||
if '_PASSWORD' in prompt:
|
||||
return (
|
||||
|
||||
@ -17,7 +17,6 @@ class HelpTest(unittest.TestCase):
|
||||
output = process.communicate()[0]
|
||||
self.assertIn('--version', output)
|
||||
self.assertIn('--help', output)
|
||||
self.assertIn('--interactive', output)
|
||||
self.assertIn('--quiet', output)
|
||||
self.assertIn('--verbose', output)
|
||||
self.assertIn('--save-debug-log', output)
|
||||
|
||||
@ -150,20 +150,6 @@ class SettingsProxyTest(unittest.TestCase):
|
||||
self.settings.TEST_PATH = None
|
||||
self.assertEqual(self.settings.TEST_PATH, None)
|
||||
|
||||
def test_interactive_input_of_missing_defaults(self):
|
||||
self.settings.default['TEST'] = ''
|
||||
interactive_input = 'input'
|
||||
self.settings._read_from_stdin = lambda _: interactive_input
|
||||
self.settings.validate(interactive=True)
|
||||
self.assertEqual(interactive_input, self.settings.TEST)
|
||||
|
||||
def test_interactive_input_not_needed_when_setting_is_set_locally(self):
|
||||
self.settings.default['TEST'] = ''
|
||||
self.settings.local['TEST'] = 'test'
|
||||
self.settings._read_from_stdin = lambda _: self.fail(
|
||||
'Should not read from stdin')
|
||||
self.settings.validate(interactive=True)
|
||||
|
||||
|
||||
class DidYouMeanTest(unittest.TestCase):
|
||||
def testSuggestoins(self):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user