'Allow access of attributes via names.'

def __getattr__(self, item):

    try:
        return self[item]
    except Exception as e:
        if (item == u'__getnewargs__'):
            raise KeyError(item)
        if (hasattr(self, u'raw') and (item in self.raw)):
            return self.raw[item]
        else:
            raise AttributeError((u'%r    object    has    no    attribute    %r    (%s)' % (self.__class__, item, e)))
