summaryrefslogtreecommitdiffstats
path: root/Lib/dos-8x3/statcach.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/dos-8x3/statcach.py')
-rwxr-xr-xLib/dos-8x3/statcach.py75
1 files changed, 0 insertions, 75 deletions
diff --git a/Lib/dos-8x3/statcach.py b/Lib/dos-8x3/statcach.py
deleted file mode 100755
index b5147c2..0000000
--- a/Lib/dos-8x3/statcach.py
+++ /dev/null
@@ -1,75 +0,0 @@
-"""Maintain a cache of stat() information on files.
-
-There are functions to reset the cache or to selectively remove items.
-"""
-
-import os
-from stat import *
-
-# The cache.
-# Keys are pathnames, values are `os.stat' outcomes.
-#
-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
-
-
-def reset():
- """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]
-
-
-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]
-
-
-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]
-
-
-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]
-
-
-def isdir(path):
- """Check for directory."""
- try:
- st = stat(path)
- except os.error:
- return 0
- return S_ISDIR(st[ST_MODE])