refactor: clear health check args generation
This commit is contained in:
parent
38f0bc8598
commit
855b35592f
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue
Block a user