summaryrefslogtreecommitdiff
path: root/tools/patman/settings.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-09-12 20:30:28 -0600
committerSimon Glass <sjg@chromium.org>2017-09-13 19:32:13 -0600
commitad8931400b193f701a415e7f69f1ad454d1b0380 (patch)
tree3ac651b3fe43549839de928cb8f40b2199d0821d /tools/patman/settings.py
parentba39608147c797cffb266579b5791649f0f8e60c (diff)
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) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Chris Packham <judge.pckham@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'tools/patman/settings.py')
-rw-r--r--tools/patman/settings.py28
1 files 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)