summaryrefslogtreecommitdiffstats
path: root/Lib/statcache.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/statcache.py')
-rw-r--r--Lib/statcache.py84
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])