Show More
@@ -123,7 +123,16 b' class Application(SingletonConfigurable):' | |||||
123 |
|
123 | |||
124 | # A sequence of Configurable subclasses whose config=True attributes will |
|
124 | # A sequence of Configurable subclasses whose config=True attributes will | |
125 | # be exposed at the command line. |
|
125 | # be exposed at the command line. | |
126 |
classes = |
|
126 | classes = [] | |
|
127 | @property | |||
|
128 | def _help_classes(self): | |||
|
129 | """Define `App.help_classes` if CLI classes should differ from config file classes""" | |||
|
130 | return getattr(self, 'help_classes', self.classes) | |||
|
131 | ||||
|
132 | @property | |||
|
133 | def _config_classes(self): | |||
|
134 | """Define `App.config_classes` if config file classes should differ from CLI classes.""" | |||
|
135 | return getattr(self, 'config_classes', self.classes) | |||
127 |
|
136 | |||
128 | # The version string of this application. |
|
137 | # The version string of this application. | |
129 | version = Unicode(u'0.0') |
|
138 | version = Unicode(u'0.0') | |
@@ -256,7 +265,7 b' class Application(SingletonConfigurable):' | |||||
256 |
|
265 | |||
257 | lines = [] |
|
266 | lines = [] | |
258 | classdict = {} |
|
267 | classdict = {} | |
259 | for cls in self.classes: |
|
268 | for cls in self._help_classes: | |
260 | # include all parents (up to, but excluding Configurable) in available names |
|
269 | # include all parents (up to, but excluding Configurable) in available names | |
261 | for c in cls.mro()[:-3]: |
|
270 | for c in cls.mro()[:-3]: | |
262 | classdict[c.__name__] = c |
|
271 | classdict[c.__name__] = c | |
@@ -331,7 +340,8 b' class Application(SingletonConfigurable):' | |||||
331 | self.print_options() |
|
340 | self.print_options() | |
332 |
|
341 | |||
333 | if classes: |
|
342 | if classes: | |
334 | if self.classes: |
|
343 | help_classes = self._help_classes | |
|
344 | if help_classes: | |||
335 | print("Class parameters") |
|
345 | print("Class parameters") | |
336 | print("----------------") |
|
346 | print("----------------") | |
337 | print() |
|
347 | print() | |
@@ -339,7 +349,7 b' class Application(SingletonConfigurable):' | |||||
339 | print(p) |
|
349 | print(p) | |
340 | print() |
|
350 | print() | |
341 |
|
351 | |||
342 |
for cls in |
|
352 | for cls in help_classes: | |
343 | cls.class_print_help() |
|
353 | cls.class_print_help() | |
344 | print() |
|
354 | print() | |
345 | else: |
|
355 | else: | |
@@ -412,7 +422,7 b' class Application(SingletonConfigurable):' | |||||
412 | # it will be a dict by parent classname of classes in our list |
|
422 | # it will be a dict by parent classname of classes in our list | |
413 | # that are descendents |
|
423 | # that are descendents | |
414 | mro_tree = defaultdict(list) |
|
424 | mro_tree = defaultdict(list) | |
415 | for cls in self.classes: |
|
425 | for cls in self._help_classes: | |
416 | clsname = cls.__name__ |
|
426 | clsname = cls.__name__ | |
417 | for parent in cls.mro()[1:-3]: |
|
427 | for parent in cls.mro()[1:-3]: | |
418 | # exclude cls itself and Configurable,HasTraits,object |
|
428 | # exclude cls itself and Configurable,HasTraits,object | |
@@ -530,7 +540,7 b' class Application(SingletonConfigurable):' | |||||
530 | lines.append('') |
|
540 | lines.append('') | |
531 | lines.append('c = get_config()') |
|
541 | lines.append('c = get_config()') | |
532 | lines.append('') |
|
542 | lines.append('') | |
533 | for cls in self.classes: |
|
543 | for cls in self._config_classes: | |
534 | lines.append(cls.class_config_section()) |
|
544 | lines.append(cls.class_config_section()) | |
535 | return '\n'.join(lines) |
|
545 | return '\n'.join(lines) | |
536 |
|
546 |
General Comments 0
You need to be logged in to leave comments.
Login now