maintainers: reformat with black

A number of pep8/pycodestyle issues were reported with the
existing code, so reformat with 'black'.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I8c3a103c1600ab06dde07ff0a469c83ffbd6573f
diff --git a/maintainers/obmc/maintainers.py b/maintainers/obmc/maintainers.py
index 2b261af..fe93d5d 100755
--- a/maintainers/obmc/maintainers.py
+++ b/maintainers/obmc/maintainers.py
@@ -7,10 +7,20 @@
 import sys
 from collections import namedtuple, OrderedDict
 from enum import Enum, unique
-from typing import (Dict, NamedTuple, Iterator, Sequence, Union, Optional,
-                    List, cast, IO)
+from typing import (
+    Dict,
+    NamedTuple,
+    Iterator,
+    Sequence,
+    Union,
+    Optional,
+    List,
+    cast,
+    IO,
+)
 from pprint import pprint
 
+
 @unique
 class LineType(Enum):
     REPO = 1
@@ -19,15 +29,18 @@
     FORKED = 4
     COMMENT = 5
 
+
 @unique
 class ParseState(Enum):
     BEGIN = 1
     BLOCK = 2
 
+
 Email = NamedTuple("Email", [("name", str), ("address", str)])
 Identity = NamedTuple("Identity", [("email", Email), ("irc", Optional[str])])
 Entry = NamedTuple("Entry", [("type", LineType), ("content", str)])
 
+
 def parse_line(line: str) -> Optional[Entry]:
     sline = line.strip()
     if not sline:
@@ -37,73 +50,83 @@
         return Entry(LineType.REPO, sline)
 
     tag = line[:2]
-    if '@' in tag:
+    if "@" in tag:
         return Entry(LineType.REPO, sline[1:].split(":")[0].strip())
-    elif tag == 'M:':
+    elif tag == "M:":
         return Entry(LineType.MAINTAINER, sline.split(":")[1].strip())
-    elif tag == 'R:':
+    elif tag == "R:":
         return Entry(LineType.REVIEWER, sline.split(":")[1].strip())
-    elif tag == 'F:':
+    elif tag == "F:":
         return Entry(LineType.FORKED, sline[2:].strip())
-    elif '#' in tag:
+    elif "#" in tag:
         return Entry(LineType.COMMENT, line)
 
     return None
 
+
 D = Union[str, List[Identity], List[str]]
 
+
 def parse_repo(content: str) -> str:
     return content
 
+
 def parse_forked(content: str) -> str:
     return content
 
+
 def parse_irc(src: Iterator[str]) -> Optional[str]:
     irc = ""
     for c in src:
-        if c == '#':
+        if c == "#":
             return None
-        if c == '<':
+        if c == "<":
             break
     else:
         return None
 
     for c in src:
-        if c in '!#':
+        if c in "!#":
             return irc.strip()
         irc += c
 
     raise ValueError("Unterminated IRC handle")
 
+
 def parse_address(src: Iterator[str]) -> str:
     addr = ""
     for c in src:
-        if c in '>#':
+        if c in ">#":
             return addr.strip()
         addr += c
     raise ValueError("Unterminated email address")
 
+
 def parse_name(src: Iterator[str]) -> str:
     name = ""
     for c in src:
-        if c in '<#':
+        if c in "<#":
             return name.strip()
         name += c
     raise ValueError("Unterminated name")
 
+
 def parse_email(src: Iterator[str]) -> Email:
     name = parse_name(src)
     address = parse_address(src)
     return Email(name, address)
 
+
 def parse_identity(content: str) -> Identity:
     ci = iter(content)
     email = parse_email(ci)
     irc = parse_irc(ci)
     return Identity(email, irc)
 
+
 B = Dict[LineType, D]
 
+
 def parse_block(src: Iterator[str]) -> Optional[B]:
     state = ParseState.BEGIN
     repo = cast(B, OrderedDict())
@@ -121,7 +144,7 @@
 
             if entry.type == LineType.REPO:
                 repo[entry.type] = parse_repo(entry.content)
-            elif entry.type in { LineType.MAINTAINER, LineType.REVIEWER }:
+            elif entry.type in {LineType.MAINTAINER, LineType.REVIEWER}:
                 if not entry.type in repo:
                     repo[entry.type] = cast(List[Identity], list())
                 cast(list, repo[entry.type]).append(parse_identity(entry.content))
@@ -139,6 +162,7 @@
 
     return repo
 
+
 def trash_preamble(src: Iterator[str]) -> None:
     s = 0
     for line in src:
@@ -148,6 +172,7 @@
         if s == 1 and sline == "-------------------------":
             break
 
+
 def parse_maintainers(src: Iterator[str]) -> Dict[D, B]:
     maintainers = cast(Dict[D, B], OrderedDict())
     trash_preamble(src)
@@ -158,19 +183,23 @@
         maintainers[repo[LineType.REPO]] = repo
     return maintainers
 
+
 def assemble_name(name: str, dst: IO[str]) -> None:
     dst.write(name)
 
+
 def assemble_address(address: str, dst: IO[str]) -> None:
     dst.write("<")
     dst.write(address)
     dst.write(">")
 
+
 def assemble_email(email: Email, dst: IO[str]) -> None:
     assemble_name(email.name, dst)
     dst.write(" ")
     assemble_address(email.address, dst)
 
+
 def assemble_irc(irc: Optional[str], dst: IO[str]) -> None:
     if irc:
         dst.write(" ")
@@ -178,31 +207,37 @@
         dst.write(irc)
         dst.write("!>")
 
+
 def assemble_identity(identity: Identity, dst: IO[str]) -> None:
     assemble_email(identity.email, dst)
     assemble_irc(identity.irc, dst)
 
+
 def assemble_maintainers(identities: List[Identity], dst: IO[str]) -> None:
     for i in identities:
         dst.write("M:  ")
         assemble_identity(i, dst)
         dst.write("\n")
 
+
 def assemble_reviewers(identities: List[Identity], dst: IO[str]) -> None:
     for i in identities:
         dst.write("R:  ")
         assemble_identity(i, dst)
         dst.write("\n")
 
+
 def assemble_forked(content: str, dst: IO[str]) -> None:
     if content:
         dst.write("F:  ")
         dst.write(content)
         dst.write("\n")
 
+
 def assemble_comment(content: List[str], dst: IO[str]) -> None:
     dst.write("".join(content))
 
+
 def assemble_block(block: B, default: B, dst: IO[str]) -> None:
     if LineType.COMMENT in block:
         assemble_comment(cast(List[str], block[LineType.COMMENT]), dst)
@@ -216,18 +251,18 @@
     if LineType.FORKED in block:
         assemble_forked(cast(str, block[LineType.FORKED]), dst)
 
+
 def main() -> None:
     parser = argparse.ArgumentParser()
-    parser.add_argument("maintainers", type=argparse.FileType('r'),
-                        default=sys.stdin)
-    parser.add_argument("output", type=argparse.FileType('w'),
-                        default=sys.stdout)
+    parser.add_argument("maintainers", type=argparse.FileType("r"), default=sys.stdin)
+    parser.add_argument("output", type=argparse.FileType("w"), default=sys.stdout)
     args = parser.parse_args()
     blocks = parse_maintainers(args.maintainers)
     for block in blocks.values():
         print(block[LineType.REPO])
-        assemble_block(block, blocks['MAINTAINERS'], args.output)
+        assemble_block(block, blocks["MAINTAINERS"], args.output)
         print()
 
+
 if __name__ == "__main__":
     main()