UPSTREAM: patman: Fix error when the email blacklist is missing

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)

Change-Id: I52174b84a9a28e3431fd039185f6e4d521bc037b
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Chris Packham <judge.pckham@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit ad8931400b193f701a415e7f69f1ad454d1b0380)
This commit is contained in:
Simon Glass 2017-09-12 20:30:28 -06:00 committed by Kever Yang
parent 7a001d4f72
commit d3aac30ed7
1 changed files with 25 additions and 3 deletions

View File

@ -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)