def get(self, key, default=None): value = super(JsonDict, self).get(key, default) # Only deserialize if value was pulled from dict if value and value != default: value = deserializeValue(value) return value
def deserializeValue(value): """ Convenience method to provide interface to deserializeValue tooling """ return deserializeValue(value)
def itervalues(self): for v in super(JsonDict, self).itervalues(): yield deserializeValue(v)
def iteritems(self): for (k, v) in super(JsonDict, self).iteritems(): yield (k, deserializeValue(v))
def items(self): return [(k, deserializeValue(v)) for k, v in super(JsonDict, self).items()]
def __getattr__(self, key): # Deserialize on 'get' return deserializeValue(super(JsonDict, self).__getattr__(key))