| 29 | |
| 30 | |
| 31 | def _deserialize_value(value_type, value_bytes) -> ValueProto: |
| 32 | if value_type == ValueType.INT64: |
| 33 | value = struct.unpack("<q", value_bytes)[0] |
| 34 | return ValueProto(int64_val=value) |
| 35 | if value_type == ValueType.INT32: |
| 36 | value = struct.unpack("<i", value_bytes)[0] |
| 37 | return ValueProto(int32_val=value) |
| 38 | elif value_type == ValueType.STRING: |
| 39 | value = value_bytes.decode("utf-8") |
| 40 | return ValueProto(string_val=value) |
| 41 | elif value_type == ValueType.BYTES: |
| 42 | return ValueProto(bytes_val=value_bytes) |
| 43 | elif value_type == ValueType.UNIX_TIMESTAMP: |
| 44 | value = struct.unpack("<q", value_bytes)[0] |
| 45 | return ValueProto(unix_timestamp_val=value) |
| 46 | else: |
| 47 | raise ValueError(f"Unsupported value type: {value_type}") |
| 48 | |
| 49 | |
| 50 | def serialize_entity_key_prefix( |