| 123456789101112131415161718192021222324252627282930313233343536 | #!/usr/bin/env pythonfrom __future__ import absolute_importimport fileinputfrom pprint import pprintdef author(line):    try:        A, E = line.strip().rsplit(None, 1)        E.replace(">", "").replace("<", "")    except ValueError:        A, E = line.strip(), None    return A.lower() if A else A, E.lower() if E else Edef proper_name(name):    return name and " " in namedef find_missing_authors(seen):    with open("AUTHORS") as authors:        known = map(author, authors.readlines())    seen_authors = set(filter(proper_name, (t[0] for t in seen)))    seen_emails = set(t[1] for t in seen)    known_authors = set(t[0] for t in known)    known_emails = set(t[1] for t in known)    pprint(seen_authors - known_authors)if __name__ == "__main__":    find_missing_authors(map(author, fileinput.input()))
 |