in tsqa/utils.py [0:0]
def load_cache(self):
'''
Load the cache from disk
'''
try:
with open(self.cache_map_file) as fh:
cache = json.load(fh)
except IOError, ValueError:
# Just bail if the file is not there, is empty, or does not parse.
return
changed = False # whether we changed the cache file, and need to write it out
# verify that all of those directories exist, clean them out if they don't
for source_hash, env_map in cache.items():
# if the directory doesn't exist
for key, entry in env_map.items():
if not os.path.isdir(entry['path']):
del cache[source_hash][key]
changed = True
# if the source_hash level key is now empty
if len(cache[source_hash]) == 0:
del cache[source_hash]
changed = True
self._dict = cache
if changed: # if we changed it, lets write it out to disk
self.save_cache()