diff options
Diffstat (limited to 'Demo/stdwin/ibrowse/icache.py')
-rwxr-xr-x | Demo/stdwin/ibrowse/icache.py | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/Demo/stdwin/ibrowse/icache.py b/Demo/stdwin/ibrowse/icache.py deleted file mode 100755 index 0629bf9..0000000 --- a/Demo/stdwin/ibrowse/icache.py +++ /dev/null @@ -1,74 +0,0 @@ -# Cache management for info file processing. -# The function get_node() is the standard interface; -# its signature is the same as ifile.get_node() but it uses -# the cache and supports indirect tag tables. - - -import string -import ifile -from ifile import NoSuchNode, NoSuchFile -import itags - - -# Special hack to save the cache when using reload(). -# This can just be "cache = {}" in a production version. -# -try: - dummy = cache - del dummy -except NameError: - cache = {} - - -# Clear the entire cache. -# -def resetcache(): - for key in cache.keys(): - del cache[key] - - -# Clear the node info from the cache (the most voluminous data). -# -def resetnodecache(): - for key in cache.keys(): - tags, nodes = cache[key] - cache[key] = tags, {} - - -# Get a node. -# -def get_node(curfile, ref): - file, node = ifile.parse_ref(curfile, ref) - file = string.lower(file) - node = string.lower(node) - if node == '*': - # Don't cache whole file references; - # reading the data is faster than displaying it anyway. - return ifile.get_whole_file(file) # May raise NoSuchFile - if not cache.has_key(file): - cache[file] = get_tags(file), {} # May raise NoSuchFile - tags, nodes = cache[file] - if not nodes.has_key(node): - if not tags.has_key(node): - raise NoSuchNode, ref - file1, offset, line = tags[node] - if not file1: - file1 = file - file1, node1, header, menu, footnotes, text = \ - ifile.get_file_node(file1, offset, node) - nodes[node] = file, node1, header, menu, footnotes, text - return nodes[node] - - -# Get the tag table for a file. -# Either construct one or get the one found in the file. -# Raise NoSuchFile if the file isn't found. -# -def get_tags(file): - f = ifile.try_open(file) # May raise NoSuchFile - tags = itags.get_tags(f) - if not tags: - ###print 'Scanning file...' - f.seek(0) - tags = ifile.make_tags(f) - return tags |