From 59886d2653fdc50f144b158b38f7b77168ca57b5 Mon Sep 17 00:00:00 2001 From: Jukka Lehtosalo Date: Thu, 16 Mar 2023 14:56:18 +0000 Subject: [PATCH] Add better error checking to misc/convert-cache.py (#14909) --- misc/convert-cache.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/misc/convert-cache.py b/misc/convert-cache.py index e5da9c2650d5..2a8a9579c11b 100755 --- a/misc/convert-cache.py +++ b/misc/convert-cache.py @@ -8,6 +8,7 @@ from __future__ import annotations import os +import re import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -36,15 +37,23 @@ def main() -> None: input_dir = args.input_dir output_dir = args.output_dir or input_dir + assert os.path.isdir(output_dir), f"{output_dir} is not a directory" if args.to_sqlite: input: MetadataStore = FilesystemMetadataStore(input_dir) output: MetadataStore = SqliteMetadataStore(output_dir) else: + fnam = os.path.join(input_dir, "cache.db") + msg = f"{fnam} does not exist" + if not re.match(r"[0-9]+\.[0-9]+$", os.path.basename(input_dir)): + msg += f" (are you missing Python version at the end, e.g. {input_dir}/3.11)" + assert os.path.isfile(fnam), msg input, output = SqliteMetadataStore(input_dir), FilesystemMetadataStore(output_dir) for s in input.list_all(): if s.endswith(".json"): - assert output.write(s, input.read(s), input.getmtime(s)), "Failed to write cache file!" + assert output.write( + s, input.read(s), input.getmtime(s) + ), f"Failed to write cache file {s}!" output.commit()