Show More
@@ -355,8 +355,6 b" def boolean_flag(name, configurable, set_help='', unset_help=''):" | |||
|
355 | 355 | |
|
356 | 356 | cls,trait = configurable.split('.') |
|
357 | 357 | |
|
358 | setter = Config() | |
|
359 |
setter |
|
|
360 | unsetter = Config() | |
|
361 | unsetter[cls][trait] = False | |
|
358 | setter = {cls : {trait : True}} | |
|
359 | unsetter = {cls : {trait : False}} | |
|
362 | 360 | return {name : (setter, set_help), 'no-'+name : (unsetter, unset_help)} |
@@ -408,8 +408,10 b' class KeyValueConfigLoader(CommandLineConfigLoader):' | |||
|
408 | 408 | if cfg is None: |
|
409 | 409 | raise ArgumentError("Unrecognized flag: %r"%item) |
|
410 | 410 | elif isinstance(cfg, (dict, Config)): |
|
411 |
# |
|
|
412 |
|
|
|
411 | # don't clobber whole config sections, update | |
|
412 | # each section from config: | |
|
413 | for sec,c in cfg.iteritems(): | |
|
414 | self.config[sec].update(c) | |
|
413 | 415 | else: |
|
414 | 416 | raise ValueError("Invalid flag: %r"%flag) |
|
415 | 417 | else: |
@@ -42,6 +42,7 b' class Foo(Configurable):' | |||
|
42 | 42 | |
|
43 | 43 | class Bar(Configurable): |
|
44 | 44 | |
|
45 | b = Int(0, config=True, help="The integer b.") | |
|
45 | 46 | enabled = Bool(True, config=True, help="Enable bar.") |
|
46 | 47 | |
|
47 | 48 | |
@@ -94,7 +95,7 b' class TestApplication(TestCase):' | |||
|
94 | 95 | self.assertEquals(app.foo.j, 10) |
|
95 | 96 | self.assertEquals(app.bar.enabled, False) |
|
96 | 97 | |
|
97 |
def test_ |
|
|
98 | def test_flags(self): | |
|
98 | 99 | app = MyApp() |
|
99 | 100 | app.parse_command_line(["--disable"]) |
|
100 | 101 | app.init_bar() |
@@ -103,3 +104,26 b' class TestApplication(TestCase):' | |||
|
103 | 104 | app.init_bar() |
|
104 | 105 | self.assertEquals(app.bar.enabled, True) |
|
105 | 106 | |
|
107 | def test_aliases(self): | |
|
108 | app = MyApp() | |
|
109 | app.parse_command_line(["i=5", "j=10"]) | |
|
110 | app.init_foo() | |
|
111 | self.assertEquals(app.foo.i, 5) | |
|
112 | app.init_foo() | |
|
113 | self.assertEquals(app.foo.j, 10) | |
|
114 | ||
|
115 | def test_flag_clobber(self): | |
|
116 | """test that setting flags doesn't clobber existing settings""" | |
|
117 | app = MyApp() | |
|
118 | app.parse_command_line(["Bar.b=5", "--disable"]) | |
|
119 | print app.config | |
|
120 | app.init_bar() | |
|
121 | self.assertEquals(app.bar.enabled, False) | |
|
122 | self.assertEquals(app.bar.b, 5) | |
|
123 | app.parse_command_line(["--enable", "Bar.b=10"]) | |
|
124 | print app.config | |
|
125 | app.init_bar() | |
|
126 | self.assertEquals(app.bar.enabled, True) | |
|
127 | self.assertEquals(app.bar.b, 10) | |
|
128 | ||
|
129 |
@@ -233,13 +233,13 b' base_aliases = dict(' | |||
|
233 | 233 | ) |
|
234 | 234 | |
|
235 | 235 | base_flags = dict( |
|
236 |
debug = ({'Application' : |
|
|
236 | debug = ({'Application' : {'log_level' : logging.DEBUG}}, | |
|
237 | 237 | "set log level to logging.DEBUG (maximize logging output)"), |
|
238 |
quiet = ({'Application' : |
|
|
238 | quiet = ({'Application' : {'log_level' : logging.CRITICAL}}, | |
|
239 | 239 | "set log level to logging.CRITICAL (minimize logging output)"), |
|
240 |
init = ({'BaseIPythonApplication' : |
|
|
240 | init = ({'BaseIPythonApplication' : { | |
|
241 | 241 | 'copy_config_files' : True, |
|
242 |
'auto_create' : True} |
|
|
242 | 'auto_create' : True} | |
|
243 | 243 | }, "Initialize profile with default config files") |
|
244 | 244 | ) |
|
245 | 245 |
General Comments 0
You need to be logged in to leave comments.
Login now