maintainers: move MAINTAINER parsing to module
In prep for supporting 'OWNERS' move maintainers parsing
details to the appropriate submodule.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I38aa703f36a82cc0ed34cc78d9ece76150f73b01
diff --git a/maintainers/obmc/maintainers.py b/maintainers/obmc/maintainers.py
index fe93d5d..f541e36 100755
--- a/maintainers/obmc/maintainers.py
+++ b/maintainers/obmc/maintainers.py
@@ -10,6 +10,7 @@
from typing import (
Dict,
NamedTuple,
+ Tuple,
Iterator,
Sequence,
Union,
@@ -184,6 +185,23 @@
return maintainers
+def get_reviewers(mfile: str) -> Tuple[List[str], List[str]]:
+ maintainers: List[str] = list()
+ reviewers: List[str] = list()
+
+ with open(mfile) as mstream:
+ trash_preamble(mstream)
+ block = parse_block(mstream)
+ if not block:
+ return (maintainers, reviewers)
+ mlist = cast(List[Identity], block[LineType.MAINTAINER])
+ maintainers.extend(i.email.address for i in mlist)
+ if LineType.REVIEWER in block:
+ rlist = cast(List[Identity], block[LineType.REVIEWER])
+ reviewers.extend(i.email.address for i in rlist)
+ return (maintainers, reviewers)
+
+
def assemble_name(name: str, dst: IO[str]) -> None:
dst.write(name)