<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_attribute_options(self, attribute=None):
 """ Returns a copy of the mapping options for the given attribute name or a copy of all mapping options, if no attribute name is provided. All options that were not explicitly configured are given a default value of `None`. :param tuple attribute_key: attribute name or tuple specifying an attribute path. :returns: mapping options dictionary (including default `None` values) """

        attribute_key = self.__make_key(attribute)
        if attribute_key is None:
            opts = defaultdict(self._default_attributes_options.copy)
            for attr, mp_options in iteritems_(self.__attribute_options):
                opts[attr].update(mp_options)
        else:
            opts = self._default_attributes_options.copy()
            attr_opts = self.__attribute_options[attribute_key]
            opts.update(attr_opts)
        return opts