Merge "Index options by group too"

This commit is contained in:
Jenkins 2017-03-21 22:36:58 +00:00 committed by Gerrit Code Review
commit cf594c5b1f
1 changed files with 12 additions and 0 deletions

View File

@ -266,6 +266,7 @@ class OptionsCache(object):
def __init__(self, overrides={}, verbose=0):
self._verbose = verbose
self._opts_by_name = {}
self._opts_by_group = {}
self._opt_names = []
self._overrides = overrides
@ -296,6 +297,11 @@ class OptionsCache(object):
self._opts_by_name[optname] = (group, opt)
self._opt_names.append(optname)
if group not in self._opts_by_group:
self._opts_by_group[group] = []
self._opts_by_group[group].append(opt)
if optname in self._overrides:
for new_group in self._overrides[optname]:
if new_group == 'DEFAULT':
@ -343,9 +349,15 @@ class OptionsCache(object):
for ext in needed_exts:
self.load_extension_options(ext)
def get_group_names(self):
return self._opts_by_group.keys()
def get_option_names(self):
return self._opt_names
def get_group(self, name):
return self._opts_by_group[name]
def get_option(self, name):
return self._opts_by_name[name]