config's string representation
This commit is contained in:
parent
bf112bc756
commit
d9c8e06236
1 changed files with 11 additions and 17 deletions
|
@ -409,27 +409,21 @@ class Config(object):
|
|||
except:
|
||||
pass # hidden, disabled option
|
||||
# ______________________________________________________________________
|
||||
def __str__(self, indent=""):
|
||||
def __str__(self):
|
||||
"Config's string representation"
|
||||
lines = []
|
||||
children = [(child._name, child)
|
||||
for child in self._cfgimpl_descr._children]
|
||||
children.sort()
|
||||
for name, child in children:
|
||||
if self._cfgimpl_value_owners.get(name, None) == 'default':
|
||||
continue
|
||||
value = getattr(self, name)
|
||||
if isinstance(value, Config):
|
||||
substr = value.__str__(indent + " ")
|
||||
else:
|
||||
substr = "%s %s = %s" % (indent, name, value)
|
||||
if substr:
|
||||
lines.append(substr)
|
||||
if indent and not lines:
|
||||
return '' # hide subgroups with all default values
|
||||
lines.insert(0, "%s[%s]" % (indent, self._cfgimpl_descr._name,))
|
||||
for name, grp in self.iter_groups():
|
||||
lines.append("[%s]" % name)
|
||||
for name, value in self:
|
||||
try:
|
||||
lines.append("%s = %s" % (name, value))
|
||||
except:
|
||||
pass
|
||||
return '\n'.join(lines)
|
||||
|
||||
__repr__ = __str__
|
||||
|
||||
|
||||
def getpaths(self, include_groups=False, allpaths=False, mandatory=False):
|
||||
"""returns a list of all paths in self, recursively, taking care of
|
||||
the context of properties (hidden/disabled)
|
||||
|
|
Loading…
Reference in a new issue