Let library modules use the new keyword arguments for list.sort().

This commit is contained in:
Raymond Hettinger 2003-10-16 05:53:16 +00:00
parent 42b1ba31af
commit 6b59f5f3fd
7 changed files with 18 additions and 24 deletions

View File

@ -99,7 +99,7 @@ class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
except os.error:
self.send_error(404, "No permission to list directory")
return None
list.sort(lambda a, b: cmp(a.lower(), b.lower()))
list.sort(key=lambda a: a.lower())
f = StringIO()
f.write("<title>Directory listing for %s</title>\n" % self.path)
f.write("<h2>Directory listing for %s</h2>\n" % self.path)

View File

@ -77,7 +77,7 @@ class UserList:
def count(self, item): return self.data.count(item)
def index(self, item, *args): return self.data.index(item, *args)
def reverse(self): self.data.reverse()
def sort(self, *args): self.data.sort(*args)
def sort(self, *args, **kwds): self.data.sort(*args, **kwds)
def extend(self, other):
if isinstance(other, UserList):
self.data.extend(other.data)

View File

@ -52,7 +52,7 @@ class LocaleTime(object):
def __init__(self):
"""Set all attributes.
Order of methods called matters for dependency reasons.
The locale language is set at the offset and then checked again before
@ -68,7 +68,7 @@ class LocaleTime(object):
Only other possible issue is if someone changed the timezone and did
not call tz.tzset . That is an issue for the programmer, though,
since changing the timezone is worthless without that call.
"""
self.lang = _getlang()
self.__calc_weekday()
@ -155,7 +155,7 @@ class LocaleTime(object):
date_time[offset] = current_format.replace('11', U_W)
self.LC_date_time = date_time[0]
self.LC_date = date_time[1]
self.LC_time = date_time[2]
self.LC_time = date_time[2]
def __calc_timezone(self):
# Set self.timezone by using time.tzname.
@ -178,9 +178,9 @@ class TimeRE(dict):
def __init__(self, locale_time=None):
"""Create keys/values.
Order of execution is important for dependency reasons.
"""
if locale_time:
self.locale_time = locale_time
@ -219,22 +219,20 @@ class TimeRE(dict):
def __seqToRE(self, to_convert, directive):
"""Convert a list to a regex string for matching a directive.
Want possible matching values to be from longest to shortest. This
prevents the possibility of a match occuring for a value that also
a substring of a larger value that should have matched (e.g., 'abc'
matching when 'abcdef' should have been the match).
"""
for value in to_convert:
if value != '':
break
else:
return ''
to_sort = [(len(item), item) for item in to_convert]
to_sort.sort()
to_sort.reverse()
to_convert = [item for length, item in to_sort]
to_convert = to_convert[:]
to_convert.sort(key=len, reverse=True)
regex = '|'.join(to_convert)
regex = '(?P<%s>%s' % (directive, regex)
return '%s)' % regex

View File

@ -701,15 +701,11 @@ def get_close_matches(word, possibilities, n=3, cutoff=0.6):
s.quick_ratio() >= cutoff and \
s.ratio() >= cutoff:
result.append((s.ratio(), x))
# Sort by score.
result.sort()
# Retain only the best n.
result = result[-n:]
# Move best-scorer to head of list.
result.reverse()
# Strip scores.
return [x for score, x in result]
# Move the best scorers to head of list
result.sort(reverse=True)
# Strip scores for the best n matches
return [x for score, x in result[:n]]
def _count_leading(line, ch):
"""

View File

@ -553,7 +553,7 @@ def getsource(object):
def walktree(classes, children, parent):
"""Recursive helper function for getclasstree()."""
results = []
classes.sort(lambda a, b: cmp(a.__name__, b.__name__))
classes.sort(key=lambda c: c.__name__)
for c in classes:
results.append((c, c.__bases__))
if c in children:

View File

@ -779,7 +779,7 @@ class HTMLDoc(Doc):
tag += ':<br>\n'
# Sort attrs by name.
attrs.sort(lambda t1, t2: cmp(t1[0], t2[0]))
attrs.sort(key=lambda t: t[0])
# Pump out the attrs, segregated by kind.
attrs = spill('Methods %s' % tag, attrs,

View File

@ -219,7 +219,7 @@ if __name__ == "__main__":
import string
def dump(f, d, prefix):
items = d.items()
items.sort(lambda a, b: cmp(a[1], b[1]))
items.sort(key=lambda a: a[1])
for k, v in items:
f.write("#define %s_%s %s\n" % (prefix, string.upper(k), v))
f = open("sre_constants.h", "w")