(CCing google-appengine).
Here's another usecase for custom message field:
from google.appengine.datastore.datastore_query import Cursor
class CursorMessage(messages.Message):
encoded = messages.StringField(1)
class CursorField(messages.MessageField):
message_type = CursorMessage
def value_from_message(self, message):
"""Converts CursorMessage to a datastore_query.Cursor."""
return Cursor(urlsafe=message.encoded)
def message_from_value(self, value):
"""Converts datastore_query.Cursor to a CursorMessage."""
return CursorMessage(encoded=value.urlsafe())
What do you guys think, makes sense?
Thanks,
Alex.