def get_property_name_from_attribute_name(attribute):
        """
        Returns property name from attribute name
        :param attribute: Attribute name, may contain upper and lower case and spaces
        :return: string
        """
        if isinstance(attribute, str) or isinstance(attribute, unicode):
            attribute_name = attribute
        elif hasattr(attribute, 'Name'):
            attribute_name = attribute.Name
        else:
            raise Exception('Attribute type {0} is not supported'.format(str(type(attribute))))

        return attribute_name.lower().replace(' ', '_')