patman: Pass the alias dict into gitutil.build_email_list()
Rather than accessing the settings module in this function, require the alias dict to be passed in. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -110,8 +110,8 @@ class Series(dict):
|
||||
cmd: The git command we would have run
|
||||
process_tags: Process tags as if they were aliases
|
||||
"""
|
||||
to_set = set(gitutil.build_email_list(self.to));
|
||||
cc_set = set(gitutil.build_email_list(self.cc));
|
||||
to_set = set(gitutil.build_email_list(self.to, settings.alias));
|
||||
cc_set = set(gitutil.build_email_list(self.cc, settings.alias));
|
||||
|
||||
col = terminal.Color()
|
||||
print('Dry run, so not doing much. But I would do this:')
|
||||
@@ -140,7 +140,8 @@ class Series(dict):
|
||||
print('Postfix:\t ', self.get('postfix'))
|
||||
if self.cover:
|
||||
print('Cover: %d lines' % len(self.cover))
|
||||
cover_cc = gitutil.build_email_list(self.get('cover_cc', ''))
|
||||
cover_cc = gitutil.build_email_list(self.get('cover_cc', ''),
|
||||
settings.alias)
|
||||
all_ccs = itertools.chain(cover_cc, *self._generated_cc.values())
|
||||
for email in sorted(set(all_ccs) - to_set - cc_set):
|
||||
print(' Cc: ', email)
|
||||
@@ -267,9 +268,9 @@ class Series(dict):
|
||||
"""
|
||||
cc = []
|
||||
if process_tags:
|
||||
cc += gitutil.build_email_list(commit.tags,
|
||||
cc += gitutil.build_email_list(commit.tags, settings.alias,
|
||||
warn_on_error=warn_on_error)
|
||||
cc += gitutil.build_email_list(commit.cc_list,
|
||||
cc += gitutil.build_email_list(commit.cc_list, settings.alias,
|
||||
warn_on_error=warn_on_error)
|
||||
if type(add_maintainers) == type(cc):
|
||||
cc += add_maintainers
|
||||
@@ -344,7 +345,8 @@ class Series(dict):
|
||||
print(col.build(col.YELLOW, f'Skipping "{x}"'))
|
||||
|
||||
if cover_fname:
|
||||
cover_cc = gitutil.build_email_list(self.get('cover_cc', ''))
|
||||
cover_cc = gitutil.build_email_list(
|
||||
self.get('cover_cc', ''), settings.alias)
|
||||
cover_cc = list(set(cover_cc + all_ccs))
|
||||
if limit is not None:
|
||||
cover_cc = cover_cc[:limit]
|
||||
|
||||
@@ -361,7 +361,7 @@ def create_patches(branch, start, count, ignore_binary, series, signoff=True):
|
||||
return None, files
|
||||
|
||||
|
||||
def build_email_list(in_list, tag=None, alias=None, warn_on_error=True):
|
||||
def build_email_list(in_list, alias, tag=None, warn_on_error=True):
|
||||
"""Build a list of email addresses based on an input list.
|
||||
|
||||
Takes a list of email addresses and aliases, and turns this into a list
|
||||
@@ -373,10 +373,10 @@ def build_email_list(in_list, tag=None, alias=None, warn_on_error=True):
|
||||
|
||||
Args:
|
||||
in_list (list of str): List of aliases/email addresses
|
||||
tag (str): Text to put before each address
|
||||
alias (dict): Alias dictionary:
|
||||
key: alias
|
||||
value: list of aliases or email addresses
|
||||
tag (str): Text to put before each address
|
||||
warn_on_error (bool): True to raise an error when an alias fails to
|
||||
match, False to just print a message.
|
||||
|
||||
@@ -389,12 +389,12 @@ def build_email_list(in_list, tag=None, alias=None, warn_on_error=True):
|
||||
>>> alias['mary'] = ['Mary Poppins <m.poppins@cloud.net>']
|
||||
>>> alias['boys'] = ['fred', ' john']
|
||||
>>> alias['all'] = ['fred ', 'john', ' mary ']
|
||||
>>> build_email_list(['john', 'mary'], None, alias)
|
||||
>>> build_email_list(['john', 'mary'], alias, None)
|
||||
['j.bloggs@napier.co.nz', 'Mary Poppins <m.poppins@cloud.net>']
|
||||
>>> build_email_list(['john', 'mary'], '--to', alias)
|
||||
>>> build_email_list(['john', 'mary'], alias, '--to')
|
||||
['--to "j.bloggs@napier.co.nz"', \
|
||||
'--to "Mary Poppins <m.poppins@cloud.net>"']
|
||||
>>> build_email_list(['john', 'mary'], 'Cc', alias)
|
||||
>>> build_email_list(['john', 'mary'], alias, 'Cc')
|
||||
['Cc j.bloggs@napier.co.nz', 'Cc Mary Poppins <m.poppins@cloud.net>']
|
||||
"""
|
||||
quote = '"' if tag and tag[0] == '-' else ''
|
||||
@@ -498,7 +498,7 @@ send --cc-cmd cc-fname" cover p1 p2'
|
||||
# Restore argv[0] since we clobbered it.
|
||||
>>> sys.argv[0] = _old_argv0
|
||||
"""
|
||||
to = build_email_list(series.get('to'), '--to', alias, warn_on_error)
|
||||
to = build_email_list(series.get('to'), settings.alias, '--to', warn_on_error)
|
||||
if not to:
|
||||
git_config_to = command.output('git', 'config', 'sendemail.to',
|
||||
raise_on_error=False)
|
||||
@@ -510,10 +510,10 @@ send --cc-cmd cc-fname" cover p1 p2'
|
||||
"git config sendemail.to u-boot@lists.denx.de")
|
||||
return None
|
||||
cc = build_email_list(list(set(series.get('cc')) - set(series.get('to'))),
|
||||
'--cc', alias, warn_on_error)
|
||||
settings.alias, '--cc', warn_on_error)
|
||||
if self_only:
|
||||
to = build_email_list([os.getenv('USER')], '--to',
|
||||
alias, warn_on_error)
|
||||
to = build_email_list([os.getenv('USER')], '--to', settings.alias,
|
||||
warn_on_error)
|
||||
cc = []
|
||||
cmd = ['git', 'send-email', '--annotate']
|
||||
if smtp_server:
|
||||
|
||||
Reference in New Issue
Block a user