invalidate cache if file changed

This commit is contained in:
j 2023-11-24 13:13:56 +00:00
parent 5295d1bfc9
commit ddb70beedd

View file

@ -13,10 +13,15 @@ def get_propery(element, name):
def melt_xml(file):
if file in _CACHE:
out = _CACHE[file]
else:
out = _CACHE[file] = subprocess.check_output(['melt', file, '-consumer', 'xml']).decode()
out = None
real_path = os.path.realpath(path)
if file in _CACHE and isinstance(_CACHE[file], list)
ts, out = _CACHE[file]
if os.stat(real_path).st_mtime != ts:
out = None
if not out:
out = subprocess.check_output(['melt', file, '-consumer', 'xml']).decode()
_CACHE[file] = [os.stat(real_path).st_mtime, out]
return out