def __getitem__(self, key):
        """Processes the tag requested with _key_ and memoize it.

        Allows long names, but will still raise a KeyError if the tag is missing, regardless of name used.
        """
        try:
            return self._computedFields[key]
        except KeyError:
            if isinstance(key, str):
                if key in self._fieldDict:
                    computedVal = self.tagProcessingFunc(key)(self._fieldDict[key])
                elif self.getAltName(key) in self._fieldDict:
                    key = self.getAltName(key)
                    computedVal = self.tagProcessingFunc(key)(self._fieldDict[key])
                else:
                    try:
                        computedVal = self.specialFuncs(key)
                    except KeyError:
                        raise KeyError("'{}' could not be found in the Record".format(key)) from BaseException
                #Both refer to the same object, computedVal
                self._computedFields[key] = computedVal
                alt = self.getAltName(key)
                if alt is not None:
                    self._computedFields[alt] = computedVal
                return computedVal
            else:
                raise TypeError("Keys to Records must be strings they cannot be of the type '{}'.".format(type(key).__name__)) from BaseException
def __getitem__ ( self , key ) : try : return self . _computedFields [ key ] except KeyError : if isinstance ( key , str ) : if key in self . _fieldDict : computedVal = self . tagProcessingFunc ( key ) ( self . _fieldDict [ key ] ) elif self . getAltName ( key ) in self . _fieldDict : key = self . getAltName ( key ) computedVal = self . tagProcessingFunc ( key ) ( self . _fieldDict [ key ] ) else : try : computedVal = self . specialFuncs ( key ) except KeyError : raise KeyError ( "'{}' could not be found in the Record" . format ( key ) ) from BaseException self . _computedFields [ key ] = computedVal alt = self . getAltName ( key ) if alt is not None : self . _computedFields [ alt ] = computedVal return computedVal else : raise TypeError ( "Keys to Records must be strings they cannot be of the type '{}'." . format ( type ( key ) . __name__ ) ) from BaseException
Processes the tag requested with _key_ and memoize it.

        Allows long names, but will still raise a KeyError if the tag is missing, regardless of name used.