def parse_lifecycle_storage_transitions()

in oss2/xml_utils.py [0:0]


def parse_lifecycle_storage_transitions(storage_transition_nodes):
    storage_transitions = []
    for storage_transition_node in storage_transition_nodes:
        storage_class = _find_tag(storage_transition_node, 'StorageClass')
        storage_transition = StorageTransition(storage_class=storage_class)
        if storage_transition_node.find('Days') is not None:
            storage_transition.days = _find_int(storage_transition_node, 'Days')
        elif storage_transition_node.find('CreatedBeforeDate') is not None:
            storage_transition.created_before_date = iso8601_to_date(_find_tag(storage_transition_node,
                                                                               'CreatedBeforeDate'))
        if storage_transition_node.find('IsAccessTime') is not None:
            storage_transition.is_access_time = _find_bool(storage_transition_node, 'IsAccessTime')
        if storage_transition_node.find('ReturnToStdWhenVisit') is not None:
            storage_transition.return_to_std_when_visit = _find_bool(storage_transition_node, 'ReturnToStdWhenVisit')
        if storage_transition_node.find('AllowSmallFile') is not None:
            storage_transition.allow_small_file = _find_bool(storage_transition_node, 'AllowSmallFile')

        storage_transitions.append(storage_transition)

    return storage_transitions