From a9c6df223f1f1566ce36a3bbc7e6410447fd2dd7 Mon Sep 17 00:00:00 2001 From: Harry Youd Date: Sat, 3 Jun 2017 15:15:13 -0500 Subject: [PATCH] Print out maintainer info with -m or --maintainers Huge thanks to Paul (javelinanddart) for cleaning things up Change-Id: Id477ac948cf1d55663eeb3ddf7cc025a81b97ebf --- maintainer-checks/maintainers.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/maintainer-checks/maintainers.py b/maintainer-checks/maintainers.py index f141567..09b2312 100755 --- a/maintainer-checks/maintainers.py +++ b/maintainer-checks/maintainers.py @@ -4,9 +4,14 @@ import yaml import re import os import json +import argparse mydir = os.path.dirname(os.path.abspath(__file__)) +parser = argparse.ArgumentParser() +parser.add_argument('-m', '--maintainers', help='list maintainers for devices', action='store_true', required=False) +args = parser.parse_args() + # Paths to certain repos repo = { "updater": "../../updater", @@ -91,3 +96,23 @@ for codename in codenames: print("{} doesn't have a root method field".format(codename)) except KeyError: print("{} doesn't have an install method field".format(codename)) + +# Optionally print out all maintainer info +if args.maintainers: + print("---------------MAINTAINER INFO DUMP---------------") + for codename in codenames: + wiki_yml_file = os.path.join(mydir, repo["wiki"] + "/_data/devices/" + codename + ".yml") + toprint = "{}:".format(codename) + if not os.path.isfile(wiki_yml_file): + # Skip devices without wiki pages, we already errored about it + continue + with open(wiki_yml_file) as f: + yml = yaml.load(f) + + try: + for maintainer in yml["maintainers"]: + toprint += ", {}".format(maintainer) + except KeyError: + # Skip devices without maintainer fields, we already errored about it + continue + print(toprint.replace(":,", ":"))