def __getitem__(self, key):
    'Get plug from self\n\n        Arguments:\n            key (str, tuple): String lookup of attribute,\n                optionally pass tuple to include unit.\n\n        Example:\n            >>> node = createNode("transform")\n            >>> node["translate"] = (1, 1, 1)\n            >>> node["translate", Meters]\n            (0.01, 0.01, 0.01)\n\n        '
    unit = None
    cached = False
    if isinstance(key, (list, tuple)):
        (key, items) = (key[0], key[1:])
        for item in items:
            if isinstance(item, _Unit):
                unit = item
            elif isinstance(item, _Cached):
                cached = True
    if cached:
        try:
            return CachedPlug(self._state['values'][(key, unit)])
        except KeyError:
            pass
    try:
        plug = self.findPlug(key)
    except RuntimeError:
        raise ExistError(('%s.%s' % (self.path(), key)))
    return Plug(self, plug, unit=unit, key=key, modifier=self._modifier)
Get plug from self

Arguments:
    key (str, tuple): String lookup of attribute,
        optionally pass tuple to include unit.

Example:
    >>> node = createNode("transform")
    >>> node["translate"] = (1, 1, 1)
    >>> node["translate", Meters]
    (0.01, 0.01, 0.01)
def __getitem__(self, key):
    'Get plug from self\n\n        Arguments:\n            key (str, tuple): String lookup of attribute,\n                optionally pass tuple to include unit.\n\n        Example:\n            >>> node = createNode("transform")\n            >>> node["translate"] = (1, 1, 1)\n            >>> node["translate", Meters]\n            (0.01, 0.01, 0.01)\n\n        '
    unit = None
    cached = False
    if isinstance(key, (list, tuple)):
        (key, items) = (key[0], key[1:])
        for item in items:
            if isinstance(item, _Unit):
                unit = item
            elif isinstance(item, _Cached):
                cached = True
    if cached:
        try:
            return CachedPlug(self._state['values'][(key, unit)])
        except KeyError:
            pass
    try:
        plug = self.findPlug(key)
    except RuntimeError:
        raise ExistError(('%s.%s' % (self.path(), key)))
    return Plug(self, plug, unit=unit, key=key, modifier=self._modifier)