def resolve_object_property(obj, path: str):
    """Resolves the value of a property on an object.

    Is able to resolve nested properties. For example,
    a path can be specified:

        'other.beer.name'

    Raises:
        AttributeError:
            In case the property could not be resolved.

    Returns:
        The value of the specified property.
    """

    value = obj
    for path_part in path.split('.'):
        value = getattr(value, path_part)

    return value
Resolves the value of a property on an object.

    Is able to resolve nested properties. For example,
    a path can be specified:

        'other.beer.name'

    Raises:
        AttributeError:
            In case the property could not be resolved.

    Returns:
        The value of the specified property.