From 71fbafd2c028829d69f3c6ac8a280a5c54327453 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sat, 22 Nov 2025 11:34:52 +1300 Subject: [PATCH] feat: remove advisories that are no longer being generated --- scripts/generate_osv_advisories.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/generate_osv_advisories.py b/scripts/generate_osv_advisories.py index 3afe09db..291b542a 100755 --- a/scripts/generate_osv_advisories.py +++ b/scripts/generate_osv_advisories.py @@ -467,6 +467,8 @@ def is_existing_advisory_ahead( def generate_osv_advisories() -> None: + generated_advisories = [] + for file in os.scandir('cache/advisories'): if not file.is_file() or not file.name.endswith('.json'): continue @@ -500,6 +502,16 @@ def generate_osv_advisories() -> None: with open(f'advisories/{name}/{osv_id}.json', 'w') as f: json.dump(osv_advisory, f, indent=2) f.write('\n') + generated_advisories.append(f'advisories/{name}/{osv_id}.json') + + # remove any advisories that weren't (re)generated + for dirpath, _, filenames in os.walk('advisories'): + for filename in filenames: + advisory_filepath = os.path.join(dirpath, filename) + + if advisory_filepath not in generated_advisories: + os.remove(advisory_filepath) + print(text_is.warning(f'removed #{advisory_filepath}')) if __name__ == '__main__':