patman: Convert camel case in command.py
[platform/kernel/u-boot.git] / tools / patman / get_maintainer.py
1 # SPDX-License-Identifier: GPL-2.0+
2 # Copyright (c) 2012 The Chromium OS Authors.
3 #
4
5 import os
6
7 from patman import command
8
9 def FindGetMaintainer(try_list):
10     """Look for the get_maintainer.pl script.
11
12     Args:
13         try_list: List of directories to try for the get_maintainer.pl script
14
15     Returns:
16         If the script is found we'll return a path to it; else None.
17     """
18     # Look in the list
19     for path in try_list:
20         fname = os.path.join(path, 'get_maintainer.pl')
21         if os.path.isfile(fname):
22             return fname
23
24     return None
25
26 def GetMaintainer(dir_list, fname, verbose=False):
27     """Run get_maintainer.pl on a file if we find it.
28
29     We look for get_maintainer.pl in the 'scripts' directory at the top of
30     git.  If we find it we'll run it.  If we don't find get_maintainer.pl
31     then we fail silently.
32
33     Args:
34         dir_list: List of directories to try for the get_maintainer.pl script
35         fname: Path to the patch file to run get_maintainer.pl on.
36
37     Returns:
38         A list of email addresses to CC to.
39     """
40     get_maintainer = FindGetMaintainer(dir_list)
41     if not get_maintainer:
42         if verbose:
43             print("WARNING: Couldn't find get_maintainer.pl")
44         return []
45
46     stdout = command.output(get_maintainer, '--norolestats', fname)
47     lines = stdout.splitlines()
48     return [ x.replace('"', '') for x in lines ]