123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python
- from __future__ import absolute_import
- import fileinput
- from pprint import pprint
- def 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 E
- def proper_name(name):
- return name and " " in name
- def find_missing_authors(seen):
- with open("AUTHORS") as authors:
- known = [author(line) for line in authors.readlines()]
- seen_authors = set(filter(proper_name, (t[0] for t in seen)))
- known_authors = set(t[0] for t in known)
- # maybe later?:
- # seen_emails = set(t[1] for t in seen)
- # known_emails = set(t[1] for t in known)
- pprint(seen_authors - known_authors)
- if __name__ == "__main__":
- find_missing_authors([author(line) for line in fileinput.input()])
|