MCPcopy Create free account
hub / github.com/apache/cassandra-python-driver / GraphSON2Serializer

Class GraphSON2Serializer

cassandra/datastax/graph/graphson.py:958–991  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

956
957
958class GraphSON2Serializer(_BaseGraphSONSerializer):
959 TYPE_KEY = "@type"
960 VALUE_KEY = "@value"
961
962 _serializers = GraphSON1Serializer.get_type_definitions()
963
964 def serialize(self, value, writer=None):
965 """
966 Serialize a type to GraphSON2.
967
968 e.g {'@type': 'gx:Duration', '@value': 'P2DT4H'}
969
970 :param value: The python object to serialize.
971 """
972 serializer = self.get_serializer(value)
973 if not serializer:
974 raise ValueError("Unable to find a serializer for value of type: ".format(type(value)))
975
976 val = serializer.serialize(value, writer or self)
977 if serializer is TypeWrapperTypeIO:
978 graphson_base_type = value.type_io.graphson_base_type
979 graphson_type = value.type_io.graphson_type
980 else:
981 graphson_base_type = serializer.graphson_base_type
982 graphson_type = serializer.graphson_type
983
984 if graphson_base_type is None:
985 out = val
986 else:
987 out = {self.TYPE_KEY: graphson_type}
988 if val is not None:
989 out[self.VALUE_KEY] = val
990
991 return out
992
993
994GraphSON2Serializer.register(int, IntegerTypeIO)

Callers 1

_transform_paramsMethod · 0.90

Calls 1

get_type_definitionsMethod · 0.45

Tested by

no test coverage detected