refactor: clear health check args generation
Some checks failed
build / build (push) Has been cancelled
build / build (pull_request) Failing after 2m16s

This commit is contained in:
张泊明518370910136 2025-03-05 02:21:55 -05:00
parent 38f0bc8598
commit 855b35592f
GPG Key ID: D47306D7062CDA9D

View File

@ -40,7 +40,7 @@ def get_health_check_args(repo_conf: repo.Config) -> List[str]:
"-root=.",
f"-repoSize={str(repo_conf.max_size)}",
*[f"-meta={meta}" for meta in repo_conf.files.required],
get_hash(repo_conf),
f"-checkFileSumList={','.join(get_hashs(repo_conf))}",
f"-checkFileNameList={','.join(repo_conf.files.immutable)}",
]
@ -97,16 +97,15 @@ def get_health_check_stage(repo_conf: repo.Config) -> result.StageDetail:
def calc_sha256sum(file_path: Path) -> str:
sha256_hash = hashlib.sha256()
with open(file_path, "rb") as f:
for byte_block in iter(lambda: f.read(65536 * 2), b""):
for byte_block in iter(lambda: f.read(64 * 1024), b""):
sha256_hash.update(byte_block)
return sha256_hash.hexdigest()
def get_hash(repo_conf: repo.Config) -> str: # input should be a list
def get_hashs(repo_conf: repo.Config) -> List[str]:
base_dir = (repo_conf.root / repo_conf.path).parent
immutable_dir = base_dir / "immutable_files"
immutable_files = [
immutable_dir / Path(file).name for file in repo_conf.files.immutable
]
immutable_hash = [calc_sha256sum(file) for file in immutable_files]
return f"-checkFileSumList={','.join(immutable_hash)}"
return [calc_sha256sum(file) for file in immutable_files]