maintainers: remove Tuple usage

Avoid 'Tuple[List[str],List[str]]' type by creating a well-defined
NamedTuple of the results of parsing the maintainer list.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ieb7befa2f3d15d7d43a5006057b0626be09d18f6
diff --git a/maintainers/obmc-gerrit b/maintainers/obmc-gerrit
index b666652..c6636e5 100755
--- a/maintainers/obmc-gerrit
+++ b/maintainers/obmc-gerrit
@@ -8,7 +8,8 @@
 # it exists).
 
 from obmc import maintainers
-from typing import cast, Callable, List, Optional, Tuple
+from obmc.reviewlist import ReviewList
+from typing import cast, Callable, List, Optional
 import argparse
 import os
 import sh  # type: ignore
@@ -19,9 +20,8 @@
 
 def get_reviewers(
     root: Optional[str] = None, mname: str = "MAINTAINERS"
-) -> Tuple[List[str], List[str]]:
-    maints: List[str] = list()
-    reviewers: List[str] = list()
+) -> ReviewList:
+
     if not root:
         root = git("rev-parse", "--show-toplevel").strip()
 
@@ -29,7 +29,7 @@
     if os.path.exists(mfile):
         return maintainers.get_reviewers(mfile)
 
-    return (maints, reviewers)
+    return ReviewList()
 
 
 def gerrit_refspec_args(
@@ -48,8 +48,8 @@
 
 
 def decorate_refspec(refspec: str, topic: str) -> str:
-    (maintainers, reviewers) = get_reviewers()
-    gargs = gerrit_refspec_args(maintainers, reviewers, topic)
+    revlist = get_reviewers()
+    gargs = gerrit_refspec_args(revlist.maintainers, revlist.reviewers, topic)
     if not gargs:
         return refspec
     if "%" in refspec:
@@ -69,8 +69,8 @@
 
 
 def do_reviewers(args: argparse.Namespace) -> None:
-    (maintainers, reviewers) = get_reviewers()
-    print(gerrit_refspec_args(maintainers, reviewers))
+    revlist = get_reviewers()
+    print(gerrit_refspec_args(revlist.maintainers, revlist.reviewers))
 
 
 parser = argparse.ArgumentParser()