Merge "Autohelp: sanitize the value during discovery"
This commit is contained in:
commit
9d008ebcde
|
@ -223,7 +223,18 @@ def _register_runtime_opts(module, abs_path, verbose):
|
||||||
|
|
||||||
|
|
||||||
def _sanitize_default(opt):
|
def _sanitize_default(opt):
|
||||||
|
"""Adapts unrealistic default values."""
|
||||||
|
|
||||||
|
# If the Oslo version is recent enough, we can use the 'sample_default'
|
||||||
|
# attribute
|
||||||
|
if (hasattr(opt, 'sample_default') and opt.sample_default is not None):
|
||||||
|
return str(opt.sample_default)
|
||||||
|
|
||||||
|
if ((type(opt).__name__ == "ListOpt") and (type(opt.default) == list)):
|
||||||
|
return ", ".join(opt.default)
|
||||||
|
|
||||||
default = str(opt.default)
|
default = str(opt.default)
|
||||||
|
|
||||||
if default == os.uname()[1]:
|
if default == os.uname()[1]:
|
||||||
return 'localhost'
|
return 'localhost'
|
||||||
|
|
||||||
|
@ -241,7 +252,7 @@ def _sanitize_default(opt):
|
||||||
continue
|
continue
|
||||||
if pathelm.endswith('/'):
|
if pathelm.endswith('/'):
|
||||||
pathelm = pathelm[:-1]
|
pathelm = pathelm[:-1]
|
||||||
if default.startswith(pathelm):
|
if pathelm in default:
|
||||||
default = re.sub(r'%s(/sources)?' % pathelm,
|
default = re.sub(r'%s(/sources)?' % pathelm,
|
||||||
'/usr/lib/python/site-packages', default)
|
'/usr/lib/python/site-packages', default)
|
||||||
|
|
||||||
|
@ -269,7 +280,6 @@ class OptionsCache(object):
|
||||||
if self._verbose >= 2:
|
if self._verbose >= 2:
|
||||||
print ("Duplicate option name %s" % optname)
|
print ("Duplicate option name %s" % optname)
|
||||||
else:
|
else:
|
||||||
if opt.name == 'bindir':
|
|
||||||
opt.default = _sanitize_default(opt)
|
opt.default = _sanitize_default(opt)
|
||||||
|
|
||||||
self._opts_by_name[optname] = (group, opt)
|
self._opts_by_name[optname] = (group, opt)
|
||||||
|
@ -390,13 +400,6 @@ def write_docbook(package_name, options, target, verbose=0):
|
||||||
|
|
||||||
if not option.help:
|
if not option.help:
|
||||||
option.help = "No help text available for this option."
|
option.help = "No help text available for this option."
|
||||||
if ((type(option).__name__ == "ListOpt") and (
|
|
||||||
type(option.default) == list)):
|
|
||||||
option.default = ", ".join(option.default)
|
|
||||||
if (hasattr(option, 'sample_default') and
|
|
||||||
option.sample_default is not None):
|
|
||||||
default = str(option.sample_default)
|
|
||||||
else:
|
|
||||||
default = _sanitize_default(option)
|
default = _sanitize_default(option)
|
||||||
|
|
||||||
tr = etree.Element('tr')
|
tr = etree.Element('tr')
|
||||||
|
|
Loading…
Reference in New Issue