aboutsummaryrefslogtreecommitdiff
path: root/lib/statcache.py
diff options
context:
space:
mode:
authorSkip Montanaro <[email protected]>2021-02-16 20:14:16 -0600
committerSkip Montanaro <[email protected]>2021-02-16 20:14:16 -0600
commitc2587c76f1b416cdbecb979e54941933246bf856 (patch)
treebb61ee9128075ce22af4eafa232f13c2e5a07896 /lib/statcache.py
parentd90761a005b24018ae237bf551515772a1de656f (diff)
downloadpython-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.tar.xz
python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.zip
starting over
Diffstat (limited to 'lib/statcache.py')
-rw-r--r--lib/statcache.py72
1 files changed, 36 insertions, 36 deletions
diff --git a/lib/statcache.py b/lib/statcache.py
index 0eaf810..36ecc96 100644
--- a/lib/statcache.py
+++ b/lib/statcache.py
@@ -15,72 +15,72 @@ cache = {}
# Stat a file, possibly out of the cache.
#
def stat(path):
- if cache.has_key(path):
- return cache[path]
- cache[path] = ret = posix.stat(path)
- return ret
+ if cache.has_key(path):
+ return cache[path]
+ cache[path] = ret = posix.stat(path)
+ return ret
# Reset the cache completely.
# Hack: to reset a global variable, we import this module.
#
def reset():
- import statcache
- # Check that we really imported the same module
- if cache is not statcache.cache:
- raise 'sorry, statcache identity crisis'
- statcache.cache = {}
+ import statcache
+ # Check that we really imported the same module
+ if cache is not statcache.cache:
+ raise 'sorry, statcache identity crisis'
+ statcache.cache = {}
# Remove a given item from the cache, if it exists.
#
def forget(path):
- if cache.has_key(path):
- del cache[path]
+ if cache.has_key(path):
+ del cache[path]
# Remove all pathnames with a given prefix.
#
def forget_prefix(prefix):
- n = len(prefix)
- for path in cache.keys():
- if path[:n] = prefix:
- del cache[path]
+ n = len(prefix)
+ for path in cache.keys():
+ if path[:n] = prefix:
+ del cache[path]
# Forget about a directory and all entries in it, but not about
# entries in subdirectories.
#
def forget_dir(prefix):
- 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]
+ 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]
# Remove all pathnames except with a given prefix.
# Normally used with prefix = '/' after a chdir().
#
def forget_except_prefix(prefix):
- n = len(prefix)
- for path in cache.keys():
- if path[:n] <> prefix:
- del cache[path]
+ n = len(prefix)
+ for path in cache.keys():
+ if path[:n] <> prefix:
+ del cache[path]
# Check for directory.
#
def isdir(path):
- try:
- st = stat(path)
- except posix.error:
- return 0
- return S_ISDIR(st[ST_MODE])
+ try:
+ st = stat(path)
+ except posix.error:
+ return 0
+ return S_ISDIR(st[ST_MODE])