diff options
Diffstat (limited to 'Lib/statcache.py')
-rw-r--r-- | Lib/statcache.py | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/Lib/statcache.py b/Lib/statcache.py index 26f90942..85a3e79 100644 --- a/Lib/statcache.py +++ b/Lib/statcache.py @@ -13,63 +13,63 @@ cache = {} def stat(path): - """Stat a file, possibly out of the cache.""" - if cache.has_key(path): - return cache[path] - cache[path] = ret = os.stat(path) - return ret + """Stat a file, possibly out of the cache.""" + if cache.has_key(path): + return cache[path] + cache[path] = ret = os.stat(path) + return ret def reset(): - """Reset the cache completely.""" - global cache - cache = {} + """Reset the cache completely.""" + global cache + cache = {} def forget(path): - """Remove a given item from the cache, if it exists.""" - if cache.has_key(path): - del cache[path] + """Remove a given item from the cache, if it exists.""" + if cache.has_key(path): + del cache[path] def forget_prefix(prefix): - """Remove all pathnames with a given prefix.""" - n = len(prefix) - for path in cache.keys(): - if path[:n] == prefix: - del cache[path] + """Remove all pathnames with a given prefix.""" + n = len(prefix) + for path in cache.keys(): + if path[:n] == prefix: + del cache[path] def forget_dir(prefix): - """Forget about a directory and all entries in it, but not about - entries in subdirectories.""" - if prefix[-1:] == '/' and prefix != '/': - prefix = prefix[:-1] - forget(prefix) - if prefix[-1:] != '/': - prefix = prefix + '/' - n = len(prefix) - for path in cache.keys(): - if path[:n] == prefix: - rest = path[n:] - if rest[-1:] == '/': rest = rest[:-1] - if '/' not in rest: - del cache[path] + """Forget about a directory and all entries in it, but not about + entries in subdirectories.""" + if prefix[-1:] == '/' and prefix != '/': + prefix = prefix[:-1] + forget(prefix) + if prefix[-1:] != '/': + prefix = prefix + '/' + n = len(prefix) + for path in cache.keys(): + if path[:n] == prefix: + rest = path[n:] + if rest[-1:] == '/': rest = rest[:-1] + if '/' not in rest: + del cache[path] def forget_except_prefix(prefix): - """Remove all pathnames except with a given prefix. - Normally used with prefix = '/' after a chdir().""" - n = len(prefix) - for path in cache.keys(): - if path[:n] != prefix: - del cache[path] + """Remove all pathnames except with a given prefix. + Normally used with prefix = '/' after a chdir().""" + n = len(prefix) + for path in cache.keys(): + if path[:n] != prefix: + del cache[path] def isdir(path): - """Check for directory.""" - try: - st = stat(path) - except os.error: - return 0 - return S_ISDIR(st[ST_MODE]) + """Check for directory.""" + try: + st = stat(path) + except os.error: + return 0 + return S_ISDIR(st[ST_MODE]) |