[Python-checkins] cpython: Minor cleanup: add whitespace, add comments, bring function attribute updates

raymond.hettinger python-checkins at python.org
Fri Mar 30 22:16:25 CEST 2012


http://hg.python.org/cpython/rev/123cf2192c79
changeset: 75998:123cf2192c79
user: Raymond Hettinger <python at rcn.com>
date: Fri Mar 30 13:15:48 2012 -0700
summary:
 Minor cleanup: add whitespace, add comments, bring function attribute updates together.
files:
 Lib/functools.py | 9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/Lib/functools.py b/Lib/functools.py
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -161,6 +161,7 @@
 See: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
 
 """
+
 # Users should only access the lru_cache through its public API:
 # cache_info, cache_clear, and f.__wrapped__
 # The internals of the lru_cache are encapsulated for thread safety and
@@ -192,7 +193,6 @@
 
 if maxsize == 0:
 
- @wraps(user_function)
 def wrapper(*args, **kwds):
 # no caching, just do a statistics update after a successful call
 nonlocal misses
@@ -202,7 +202,6 @@
 
 elif maxsize is None:
 
- @wraps(user_function)
 def wrapper(*args, **kwds):
 # simple caching without ordering or size limit
 nonlocal hits, misses
@@ -218,7 +217,6 @@
 
 else:
 
- @wraps(user_function)
 def wrapper(*args, **kwds):
 # size limited caching that tracks accesses by recency
 nonlocal hits, misses
@@ -238,11 +236,12 @@
 return result
 result = user_function(*args, **kwds)
 with lock:
+ # put result in a new link at the front of the list
 last = root[PREV]
 link = [last, root, key, result]
 cache[key] = last[NEXT] = root[PREV] = link
 if _len(cache) > maxsize:
- # purge least recently used cache entry
+ # purge the least recently used cache entry
 old_prev, old_next, old_key, old_result = root[NEXT]
 root[NEXT] = old_next
 old_next[PREV] = root
@@ -265,6 +264,6 @@
 
 wrapper.cache_info = cache_info
 wrapper.cache_clear = cache_clear
- return wrapper
+ return update_wrapper(wrapper, user_function)
 
 return decorating_function
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /