def build_manager(): manager = soc.ConfigurationManager("prospector") manager.add(soc.BooleanSetting("zero_exit", default=False)) manager.add(soc.BooleanSetting("autodetect", default=True)) manager.add(soc.ListSetting("uses", soc.String, default=[])) manager.add(soc.BooleanSetting("blending", default=True)) manager.add(soc.BooleanSetting("doc_warnings", default=None)) manager.add(soc.BooleanSetting("test_warnings", default=None)) manager.add(soc.BooleanSetting("no_style_warnings", default=None)) manager.add(soc.BooleanSetting("member_warnings", default=None)) manager.add(soc.BooleanSetting("full_pep8", default=None)) manager.add(soc.IntegerSetting("max_line_length", default=None)) manager.add(soc.BooleanSetting("messages_only", default=False)) manager.add(soc.BooleanSetting("summary_only", default=False)) manager.add(soc.BooleanSetting("quiet", default=False)) manager.add( soc.ListSetting( "output_format", OutputChoice(sorted(FORMATTERS.keys())), default=None, )) manager.add(soc.BooleanSetting("absolute_paths", default=False)) manager.add( soc.ListSetting( "tools", soc.Choice(sorted(TOOLS.keys())), default=None, )) manager.add(soc.ListSetting("with_tools", soc.String, default=[])) manager.add(soc.ListSetting("without_tools", soc.String, default=[])) manager.add(soc.ListSetting("profiles", soc.String, default=[])) manager.add(soc.ListSetting("profile_path", soc.String, default=[])) manager.add( soc.ChoiceSetting( "strictness", ["veryhigh", "high", "medium", "low", "verylow"], default=None, )) manager.add(soc.BooleanSetting("show_profile", default=False)) manager.add(soc.BooleanSetting("no_external_config", default=False)) manager.add(soc.BooleanSetting("legacy_tool_names", default=False)) manager.add(soc.StringSetting("pylint_config_file", default=None)) manager.add(soc.StringSetting("path", default=None)) manager.add(soc.ListSetting("ignore_patterns", soc.String, default=[])) manager.add(soc.ListSetting("ignore_paths", soc.String, default=[])) manager.add(soc.BooleanSetting("die_on_tool_error", default=False)) manager.add(soc.BooleanSetting("include_tool_stdout", default=False)) manager.add(soc.BooleanSetting("direct_tool_stdout", default=False)) return manager
def build_manager(): manager = soc.ConfigurationManager('prospector') manager.add(soc.BooleanSetting('zero_exit', default=False)) manager.add(soc.BooleanSetting('autodetect', default=True)) manager.add(soc.ListSetting('uses', soc.String, default=[])) manager.add(soc.BooleanSetting('blending', default=True)) manager.add(soc.BooleanSetting('doc_warnings', default=None)) manager.add(soc.BooleanSetting('test_warnings', default=None)) manager.add(soc.BooleanSetting('no_style_warnings', default=None)) manager.add(soc.BooleanSetting('member_warnings', default=None)) manager.add(soc.BooleanSetting('full_pep8', default=None)) manager.add(soc.IntegerSetting('max_line_length', default=None)) manager.add(soc.BooleanSetting('messages_only', default=False)) manager.add(soc.BooleanSetting('summary_only', default=False)) manager.add(soc.ListSetting( 'output_format', OutputChoice(sorted(FORMATTERS.keys())), default=None, )) manager.add(soc.BooleanSetting('absolute_paths', default=False)) manager.add(soc.ListSetting( 'tools', soc.Choice(sorted(TOOLS.keys())), default=None, )) manager.add(soc.ListSetting('with_tools', soc.String, default=[])) manager.add(soc.ListSetting('without_tools', soc.String, default=[])) manager.add(soc.ListSetting('profiles', soc.String, default=[])) manager.add(soc.ListSetting('profile_path', soc.String, default=[])) manager.add(soc.ChoiceSetting( 'strictness', ['veryhigh', 'high', 'medium', 'low', 'verylow'], default=None, )) manager.add(soc.BooleanSetting('show_profile', default=False)) manager.add(soc.BooleanSetting('no_external_config', default=False)) manager.add(soc.StringSetting('pylint_config_file', default=None)) manager.add(soc.StringSetting('path', default=None)) manager.add(soc.ListSetting('ignore_patterns', soc.String, default=[])) manager.add(soc.ListSetting('ignore_paths', soc.String, default=[])) manager.add(soc.BooleanSetting('die_on_tool_error', default=False)) manager.add(soc.BooleanSetting('include_tool_stdout', default=False)) manager.add(soc.BooleanSetting('direct_tool_stdout', default=False)) # deprecated manager.add(soc.BooleanSetting('loquacious_pylint', default=False)) return manager
def check_bad_name(name): try: setting = soc.StringSetting(name) except soc.NamingError: pass else: assert False, 'Invalid name allowed: %s' % name
def test_validation(): settings1 = make_settings1() parent = soc.Configuration(settings1) parent.validate() child = soc.Configuration(make_settings2(), parent=parent) child.validate() setting = soc.StringSetting('happy', required=True) settings1.append(setting) parent = soc.Configuration(settings1) child = soc.Configuration(make_settings2(), parent=parent) try: parent.validate() except soc.MissingRequiredError: pass else: assert False, 'No MissingRequiredError for required setting' try: child.validate() except soc.MissingRequiredError: pass else: assert False, 'No MissingRequiredError for required setting' setting.value = 'sad' parent.validate() child.validate()
def make_settings2(): settings = [] setting = soc.StringSetting('foo') setting.value = 'goodbye' settings.append(setting) setting = soc.IntegerSetting('bar') settings.append(setting) return settings
def make_settings1(): settings = [] setting = soc.StringSetting('foo') setting.value = 'hello' settings.append(setting) setting = soc.IntegerSetting('bar') setting.value = 123 settings.append(setting) setting = soc.BooleanSetting('baz', default=False) settings.append(setting) return settings
def make_settings(): settings = [] setting = soc.StringSetting('foo') settings.append(setting) setting = soc.IntegerSetting('bar') settings.append(setting) setting = soc.BooleanSetting('baz', default=False) settings.append(setting) setting = soc.ListSetting('happy', soc.String) settings.append(setting) return settings
def build_manager(): manager = soc.ConfigurationManager('prospector') manager.add(soc.BooleanSetting('autodetect', default=True)) manager.add(soc.ListSetting('uses', soc.String, default=[])) manager.add(soc.BooleanSetting('blending', default=True)) manager.add(soc.BooleanSetting('common_plugin', default=True)) manager.add(soc.BooleanSetting('doc_warnings', default=False)) manager.add(soc.BooleanSetting('test_warnings', default=False)) manager.add(soc.BooleanSetting('style_warnings', default=True)) manager.add(soc.BooleanSetting('full_pep8', default=False)) manager.add(soc.IntegerSetting('max_line_length', default=None)) manager.add(soc.BooleanSetting('messages_only', default=False)) manager.add(soc.BooleanSetting('summary_only', default=False)) manager.add( soc.ChoiceSetting( 'output_format', sorted(FORMATTERS.keys()), default='text', )) manager.add(soc.BooleanSetting('absolute_paths', default=False)) manager.add( soc.ListSetting( 'tools', soc.Choice(sorted(TOOLS.keys())), default=sorted(DEFAULT_TOOLS), )) manager.add(soc.ListSetting('profiles', soc.String, default=[])) manager.add( soc.ChoiceSetting( 'strictness', ['veryhigh', 'high', 'medium', 'low', 'verylow'], default='medium', )) manager.add( soc.ChoiceSetting( 'external_config', ['none', 'merge', 'only'], default='only', )) manager.add(soc.StringSetting('path', default=None)) manager.add(soc.ListSetting('ignore_patterns', soc.String, default=[])) manager.add(soc.ListSetting('ignore_paths', soc.String, default=[])) manager.add(soc.BooleanSetting('die_on_tool_error', default=False)) return manager
def check_good_name(name): setting = soc.StringSetting(name)
def make_settings3(): settings = [] setting = soc.StringSetting('foo') setting.value = 'happy' settings.append(setting) return settings
import os import setoptconf as soc class Blah(object): foo = 'a' os.environ['TESTME_BAR'] = '123' mgr = soc.ConfigurationManager('testme') mgr.add(soc.StringSetting('foo')) mgr.add(soc.IntegerSetting('bar', required=True)) mgr.add(soc.BooleanSetting('baz', default=True)) config = mgr.retrieve( soc.EnvironmentVariableSource, soc.ObjectSource(Blah), soc.MappingSource({'baz': False}), ) assert config.foo == 'a' assert config.bar == 123 assert config.baz is False try: mgr.add('blah') except TypeError: pass else: