Exemplo n.º 1
0
	def __init__(self, keys, prune = False, *args, **kw):
		super(MangleConfigMixin, self).__init__(*args, **kw)
		if isinstance(keys, basestring) or not is_iterable(keys):
			keys = (keys, )

		self.__keys = keys
		self.__prune = prune
Exemplo n.º 2
0
	def unpack_value(self, v):
		if isinstance(v, basestring):
			return self.unpack_string(v)
		if isinstance(v, dict):
			return self.unpack_dict(v)
		if is_iterable(v):
			return self.unpack_list(v)
		if not is_primitive(v):	
			raise InternalTypeError(v)
		return v
Exemplo n.º 3
0
	def pack_value(self, v):
		if isinstance(v, basestring):
			return u"s" + unicode(v)
		if isinstance(v, dict):
			return self.pack_dict(v)
		if is_iterable(v):
			return self.pack_list(v)
		if isinstance(v, Resource):
			return u"r" + unicode(v.identifier)
		if isinstance(v, Identifier):
			return u"i" + unicode(v)
		if not is_primitive(v):	
			raise InternalTypeError(v)
		return v
Exemplo n.º 4
0
def compare_answer(answer, response):
    success = True
    result = {}
    for field_name in answer:
        try:
            field_answer = answer[field_name]
            if is_iterable(field_answer):
                field_result = all([
                    list_value.compare(response[field_name])
                    for list_value in field_answer
                ])
            else:
                field_result = field_answer.compare(response[field_name])
        except KeyError:
            field_result = False

        result[field_name] = field_result
        success = success and field_result

    return success, result