in oss2/xml_utils.py [0:0]
def parse_get_bucket_lifecycle(result, body):
root = ElementTree.fromstring(body)
url_encoded = _is_url_encoding(root)
for rule_node in root.findall('Rule'):
expiration = parse_lifecycle_expiration(rule_node.find('Expiration'))
abort_multipart_upload = parse_lifecycle_abort_multipart_upload(rule_node.find('AbortMultipartUpload'))
storage_transitions = parse_lifecycle_storage_transitions(rule_node.findall('Transition'))
tagging = parse_lifecycle_object_taggings(rule_node.findall('Tag'))
noncurrent_version_expiration = parse_lifecycle_version_expiration(rule_node.find('NoncurrentVersionExpiration'))
noncurrent_version_sotrage_transitions = parse_lifecycle_verison_storage_transitions(rule_node.findall('NoncurrentVersionTransition'))
lifecycle_filter = parse_lifecycle_filter(rule_node.find('Filter'))
rule = LifecycleRule(
_find_tag(rule_node, 'ID'),
_find_tag(rule_node, 'Prefix'),
status=_find_tag(rule_node, 'Status'),
expiration=expiration,
abort_multipart_upload=abort_multipart_upload,
storage_transitions=storage_transitions,
tagging=tagging,
noncurrent_version_expiration = noncurrent_version_expiration,
noncurrent_version_sotrage_transitions = noncurrent_version_sotrage_transitions,
atime_base=int(_find_tag_with_default(rule_node, 'AtimeBase', 0)),
filter=lifecycle_filter
)
result.rules.append(rule)
return result