Commit 8cd2e5f7 authored by Raymond Hettinger's avatar Raymond Hettinger

Sync-up minor code edits with the default branch.

parent 102d8749
...@@ -97,7 +97,7 @@ def cmp_to_key(mycmp): ...@@ -97,7 +97,7 @@ def cmp_to_key(mycmp):
"""Convert a cmp= function into a key= function""" """Convert a cmp= function into a key= function"""
class K(object): class K(object):
__slots__ = ['obj'] __slots__ = ['obj']
def __init__(self, obj, *args): def __init__(self, obj):
self.obj = obj self.obj = obj
def __lt__(self, other): def __lt__(self, other):
return mycmp(self.obj, other.obj) < 0 return mycmp(self.obj, other.obj) < 0
...@@ -140,7 +140,7 @@ def lru_cache(maxsize=100): ...@@ -140,7 +140,7 @@ def lru_cache(maxsize=100):
tuple=tuple, sorted=sorted, len=len, KeyError=KeyError): tuple=tuple, sorted=sorted, len=len, KeyError=KeyError):
hits = misses = 0 hits = misses = 0
kwd_mark = object() # separates positional and keyword args kwd_mark = (object(),) # separates positional and keyword args
lock = Lock() # needed because ordereddicts aren't threadsafe lock = Lock() # needed because ordereddicts aren't threadsafe
if maxsize is None: if maxsize is None:
...@@ -151,7 +151,7 @@ def lru_cache(maxsize=100): ...@@ -151,7 +151,7 @@ def lru_cache(maxsize=100):
nonlocal hits, misses nonlocal hits, misses
key = args key = args
if kwds: if kwds:
key += (kwd_mark,) + tuple(sorted(kwds.items())) key += kwd_mark + tuple(sorted(kwds.items()))
try: try:
result = cache[key] result = cache[key]
hits += 1 hits += 1
...@@ -170,7 +170,7 @@ def lru_cache(maxsize=100): ...@@ -170,7 +170,7 @@ def lru_cache(maxsize=100):
nonlocal hits, misses nonlocal hits, misses
key = args key = args
if kwds: if kwds:
key += (kwd_mark,) + tuple(sorted(kwds.items())) key += kwd_mark + tuple(sorted(kwds.items()))
try: try:
with lock: with lock:
result = cache[key] result = cache[key]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment