
On Wed, Sep 13, 2017 at 2:30 PM, Simon Glass sjg@chromium.org wrote:
This section of the settings file may be missing. Handle that gracefully rather than emitting an error.
Also update patman to write this section when a new settings file is created.
Fixes: e11aa602 (patman: add support for omitting bouncing addresses)
Signed-off-by: Simon Glass sjg@chromium.org
Reviewed-by: Chris Packham judge.pckham@gmail.com
tools/patman/settings.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/tools/patman/settings.py b/tools/patman/settings.py index d735ff9ba3..92379b72e7 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -212,7 +212,12 @@ def CreatePatmanConfigFile(config_fname): print("Couldn't create patman config file\n") raise
- print("[alias]\nme: %s <%s>" % (name, email), file=f)
- print('''[alias]
+me: %s <%s>
+[bounces] +nxp = Zhikang Zhang zhikang.zhang@nxp.com +''' % (name, email), file=f) f.close();
def _UpdateDefaults(parser, config): @@ -282,6 +287,23 @@ def _ReadBouncesFile(fname): continue bounces.add(line.strip())
+def GetItems(config, section):
- """Get the items from a section of the config.
- Args:
config: _ProjectConfigParser object containing settings
section: name of section to retrieve
- Returns:
List of (name, value) tuples for the section
- """
- try:
return config.items(section)
- except ConfigParser.NoSectionError as e:
return []
- except:
raise
def Setup(parser, project_name, config_fname=''): """Set up the settings module by reading config files.
@@ -303,11 +325,11 @@ def Setup(parser, project_name, config_fname=''):
config.read(config_fname)
- for name, value in config.items('alias'):
for name, value in GetItems(config, 'alias'): alias[name] = value.split(',')
_ReadBouncesFile('doc/bounces')
- for name, value in config.items('bounces'):
for name, value in GetItems(config, 'bounces'): bounces.add(value)
_UpdateDefaults(parser, config)
-- 2.14.1.581.gf28d330327-goog