in scripts/elf_rockylinux_dependency_analyzer.py [0:0]
def load_or_build_high_level_packages(grand_summary, force_rebuild=False):
if not force_rebuild and os.path.exists(CACHE_FILE):
with open(CACHE_FILE, 'r') as f:
cache_data = json.load(f)
if datetime.now() - parser.parse(cache_data['timestamp']) < timedelta(days=CACHE_EXPIRY_DAYS):
return cache_data['packages']
packages = build_high_level_packages(grand_summary)
with open(CACHE_FILE, 'w') as f:
json.dump({'timestamp': datetime.now().isoformat(), 'packages': packages}, f)
return packages