def _get_or_create(self, name):
    "Retrieve L{Attr} or create it if it doesn't exist\n\n        @param name: name of the attribute to look up or create\n        @type name: str\n        @return: attribute with this name\n        @rtype: L{Attr}\n        "
    attr = None
    try:
        attr = self.AttrType(self._cdf_file, name)
    except CDFError:
        (t, v, tb) = sys.exc_info()
        if (v.status != const.NO_SUCH_ATTR):
            raise
    if (attr is None):
        attr = self.AttrType(self._cdf_file, name, True)
    elif (attr.global_scope() != self.global_scope):
        raise KeyError(((name + ': not ') + self.attr_name))
    return attr
Retrieve L{Attr} or create it if it doesn't exist

@param name: name of the attribute to look up or create
@type name: str
@return: attribute with this name
@rtype: L{Attr}
def _get_or_create(self, name):
    "Retrieve L{Attr} or create it if it doesn't exist\n\n        @param name: name of the attribute to look up or create\n        @type name: str\n        @return: attribute with this name\n        @rtype: L{Attr}\n        "
    attr = None
    try:
        attr = self.AttrType(self._cdf_file, name)
    except CDFError:
        (t, v, tb) = sys.exc_info()
        if (v.status != const.NO_SUCH_ATTR):
            raise
    if (attr is None):
        attr = self.AttrType(self._cdf_file, name, True)
    elif (attr.global_scope() != self.global_scope):
        raise KeyError(((name + ': not ') + self.attr_name))
    return attr