[Python-checkins] r55992 - in sandbox/trunk/pep0: NOTES pep0/output.py
brett.cannon
python-checkins at python.org
Fri Jun 15 05:52:15 CEST 2007
Author: brett.cannon
Date: Fri Jun 15 05:52:05 2007
New Revision: 55992
Modified:
sandbox/trunk/pep0/NOTES
sandbox/trunk/pep0/pep0/output.py
Log:
Output author list.
Modified: sandbox/trunk/pep0/NOTES
==============================================================================
--- sandbox/trunk/pep0/NOTES (original)
+++ sandbox/trunk/pep0/NOTES Fri Jun 15 05:52:05 2007
@@ -4,15 +4,14 @@
* Read PEPs as UTF-8.
* Author/email list.
- + names
- + emails
+ + Fix loss of a single space when name contains an accented character.
+ Column headers.
- Underline to length of author name or just column header like in
rest of doc?
* Verify PEP is well-formatted.
+ Values in fields correct.
- - All authors declared in authors.py.
+ - All authors declared in email list.
+ Formatting correct.
- Plaintext.
- reST.
Modified: sandbox/trunk/pep0/pep0/output.py
==============================================================================
--- sandbox/trunk/pep0/pep0/output.py (original)
+++ sandbox/trunk/pep0/pep0/output.py Fri Jun 15 05:52:05 2007
@@ -1,7 +1,8 @@
"""Code to handle the output of PEP 0."""
from . import constants
-from .pep import PEP
+from .pep import PEP, last_name
+from operator import itemgetter
from sys import stdout
@@ -117,13 +118,27 @@
print>>output
print>>output, "Owners"
print>>output
- # XXX
- # * get "last, first I." of each name.
- # * add nickname.
- # * find longest name.
- # * column headers.
- # * name/email with a two-space separation between longest name and email.
- print>>output, ' XXX'
+ max_name_len = len(max(constants.email_addresses, key=itemgetter(0)))
+ for name, nick in constants.nicknames.items():
+ name_nick_len = len(name) + len(nick) + 3 # Cover space and parens.
+ if name_nick_len > max_name_len:
+ max_name_len = name_nick_len
+ else:
+ max_name_len += 2 # Cover comma and space between last and first name.
+ print>>output, " %s %s" % ('name'.ljust(max_name_len), 'email address')
+ print>>output, " %s %s" % ((len('name')*'-').ljust(max_name_len),
+ len('email address')*'-')
+ for author, email in constants.email_addresses:
+ last_name_index = author.index(last_name(author))
+ first = author[:last_name_index].strip()
+ last = author[last_name_index:].strip()
+ if not first:
+ last_first = last
+ else:
+ last_first = ', '.join([last, first])
+ if author in constants.nicknames:
+ last_first += " (%s)" % constants.nicknames[author]
+ print>>output, " %s %s" % (last_first.ljust(max_name_len), email)
print>>output
print>>output
print>>output, "References"
More information about the Python-checkins
mailing list