INNER CODE UNIT · Python
parse_manifest
Altinity/clickhouse-operator · tools/restore_shared_to_replicated.py:270
def parse_manifest(xml_bytes: bytes) -> Manifest:
manifest = Manifest()
for _event, elem in ET.iterparse(io.BytesIO(xml_bytes), events=("end",)):
tag = elem.tag
if tag == "data_file_name_generator":
manifest.data_file_name_generator = (elem.text or "").strip() or manifest.data_file_name_generator
elif tag == "data_file_name_prefix_length":
try:
manifest.data_file_name_prefix_length = int(elem.text or DEFAULT_PREFIX_LENGTH)
except ValueError:
pass
elif tag == "file":
name = (elem.findtext("name") or "").strip()
size_text = elem.findtext("size") or "0"
try:
size = int(size_text)
except ValueError:
size = 0