MCPcopy Create free account
hub / github.com/Mnexa-AI/e2a / __deserialize

Method __deserialize

sdks/python/src/e2a/v1/generated/api_client.py:432–477  ·  view source on GitHub ↗

Deserializes dict, list, str into an object. :param data: dict, list or str. :param klass: class literal, or string of class name. :return: object.

(self, data, klass)

Source from the content-addressed store, hash-verified

430 return self.__deserialize(data, response_type)
431
432 def __deserialize(self, data, klass):
433 """Deserializes dict, list, str into an object.
434
435 :param data: dict, list or str.
436 :param klass: class literal, or string of class name.
437
438 :return: object.
439 """
440 if data is None:
441 return None
442
443 if isinstance(klass, str):
444 if klass.startswith('List['):
445 m = re.match(r'List\[(.*)]', klass)
446 assert m is not None, "Malformed List type definition"
447 sub_kls = m.group(1)
448 return [self.__deserialize(sub_data, sub_kls)
449 for sub_data in data]
450
451 if klass.startswith('Dict['):
452 m = re.match(r'Dict\[([^,]*), (.*)]', klass)
453 assert m is not None, "Malformed Dict type definition"
454 sub_kls = m.group(2)
455 return {k: self.__deserialize(v, sub_kls)
456 for k, v in data.items()}
457
458 # convert str to class
459 if klass in self.NATIVE_TYPES_MAPPING:
460 klass = self.NATIVE_TYPES_MAPPING[klass]
461 else:
462 klass = getattr(e2a.v1.generated.models, klass)
463
464 if klass in self.PRIMITIVE_TYPES:
465 return self.__deserialize_primitive(data, klass)
466 elif klass is object:
467 return self.__deserialize_object(data)
468 elif klass is datetime.date:
469 return self.__deserialize_date(data)
470 elif klass is datetime.datetime:
471 return self.__deserialize_datetime(data)
472 elif klass is decimal.Decimal:
473 return decimal.Decimal(data)
474 elif issubclass(klass, Enum):
475 return self.__deserialize_enum(data, klass)
476 else:
477 return self.__deserialize_model(data, klass)
478
479 def parameters_to_tuples(self, params, collection_formats):
480 """Get parameters as list of tuples, formatting collections.

Callers 1

deserializeMethod · 0.95

Calls 6

__deserialize_objectMethod · 0.95
__deserialize_dateMethod · 0.95
__deserialize_enumMethod · 0.95
__deserialize_modelMethod · 0.95

Tested by

no test coverage detected