parameters: (full_attribute_name)
return_statement: return attr
docstring: Load a module and retrieve an attribute of that module.
docstring_summary: Load a module and retrieve an attribute of that module.
docstring_tokens: Load a module and retrieve an attribute of that module .
function: def attributes(full_attribute_name):
      """Load a module and retrieve an attribute of that module."""
  
      # Parse out the path, module, and attribute
      last_dot = full_attribute_name.rfind('.')
      attr_name = full_attribute_name[last_dot + 1:]
      mod_path = full_attribute_name[:last_dot]
  
      mod = modules(mod_path)
      # Let an AttributeError propagate outward.
      try:
          attr = getattr(mod, attr_name)
      except AttributeError:
          raise AttributeError("'%s' object has no attribute '%s'"
                               % (mod_path, attr_name))
  
      # Return a reference to the attribute.
      return attr
function_tokens: def attributes ( full_attribute_name ) : # Parse out the path, module, and attribute last_dot = full_attribute_name . rfind ( '.' ) attr_name = full_attribute_name [ last_dot + 1 : ] mod_path = full_attribute_name [ : last_dot ] mod = modules ( mod_path ) # Let an AttributeError propagate outward. try : attr = getattr ( mod , attr_name ) except AttributeError : raise AttributeError ( "'%s' object has no attribute '%s'" % ( mod_path , attr_name ) ) # Return a reference to the attribute. return attr