Source code for ferris3.messages

import protopigeon

model_message = protopigeon.model_message
list_message = protopigeon.list_message


[docs]def serialize(MessageType, entity, **kwargs): return protopigeon.to_message(entity, MessageType, **kwargs)
[docs]def deserialize(Model, message, **kwargs): return protopigeon.to_entity(message, Model, **kwargs)
[docs]def serialize_list(ListMessageType, entities): from .ndb import PaginationResults from .search import SearchResults if isinstance(entities, (PaginationResults, SearchResults)): next_page_token = entities.next_page_token entities = entities.items else: next_page_token = None MessageType = ListMessageType.items.message_type message = ListMessageType() message.items = [serialize(MessageType, x) for x in entities] message.nextPageToken = next_page_token return message