code: def _unescape(self, value):
      '''
      Recursively unescape values. Though slower, this doesn't require the user to
      know anything about the escaping when writing their own custom fetch functions.
      '''
      if isinstance(value, (str,unicode)):
        return value.replace(self._escape_character, '.')
      elif isinstance(value, dict):
        return { self._unescape(k) : self._unescape(v) for k,v in value.items() }
      elif isinstance(value, list):
        return [ self._unescape(v) for v in value ]
      return valuf _unescape(self, value):
      '''
      Recursively unescape values. Though slower, this doesn't require the user to
      know anything about the escaping when writing their own custom fetch functions.
      '''
      if isinstance(value, (str,unicode)):
        return value.replace(self._escape_character, '.')
      elif isinstance(value, dict):
        return { self._unescape(k) : self._unescape(v) for k,v in value.items() }
      elif isinstance(value, list):
        return [ self._unescape(v) for v in value ]
      return value
docs: Recursively unescape values. Though slower, this doesn't require the user to
      know anything about the escaping when writing their own custom fetch functions.