當前位置: 首頁>>代碼示例>>Python>>正文


Python messages.Message方法代碼示例

本文整理匯總了Python中protorpc.messages.Message方法的典型用法代碼示例。如果您正苦於以下問題:Python messages.Message方法的具體用法?Python messages.Message怎麽用?Python messages.Message使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在protorpc.messages的用法示例。


在下文中一共展示了messages.Message方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: testErrors

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testErrors(self):
    class Storage(model.Model):
      greet = msgprop.MessageProperty(Greeting, indexed_fields=['text'])

    # Call MessageProperty(x) where x is not a Message class.
    self.assertRaises(TypeError, msgprop.MessageProperty, Storage)
    self.assertRaises(TypeError, msgprop.MessageProperty, 42)
    self.assertRaises(TypeError, msgprop.MessageProperty, None)

    # Call MessageProperty(Greeting, indexed_fields=x) where x
    # includes invalid field names.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Greeting, indexed_fields=['text', 'nope'])
    self.assertRaises(TypeError, msgprop.MessageProperty,
                      Greeting, indexed_fields=['text', 42])
    self.assertRaises(TypeError, msgprop.MessageProperty,
                      Greeting, indexed_fields=['text', None])
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Greeting, indexed_fields=['text', 'text'])  # Duplicate.

    # Set a MessageProperty value to a non-Message instance.
    self.assertRaises(TypeError, Storage, greet=42) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:24,代碼來源:msgprop_test.py

示例2: testRepeatedNestedMessageField

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testRepeatedNestedMessageField(self):
    class Outer(messages.Message):
      greeting = messages.MessageField(Greeting, 1)
      extra = messages.IntegerField(2)

    class Store(model.Model):
      outers = msgprop.MessageProperty(Outer, repeated=True,
                                       indexed_fields=['greeting.text'])
    gr1 = Greeting(text='abc', when=123)
    gr2 = Greeting(text='def', when=456)
    outer1 = Outer(greeting=gr1, extra=1)
    outer2 = Outer(greeting=gr2, extra=2)
    store1 = Store(outers=[outer1])
    store1.put()
    store2 = Store(outers=[outer2])
    store2.put()
    store3 = Store(outers=[outer1, outer2])
    store3.put()
    res = Store.query(Store.outers.greeting.text == 'abc').fetch()
    self.assertEqual(res, [store1, store3]) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:22,代碼來源:msgprop_test.py

示例3: testNestedRepeatedMessageField

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testNestedRepeatedMessageField(self):
    class Outer(messages.Message):
      greetings = messages.MessageField(Greeting, 1, repeated=True)
      extra = messages.IntegerField(2)

    class Store(model.Model):
      outer = msgprop.MessageProperty(Outer, indexed_fields=['greetings.text',
                                                             'extra'])
    gr1 = Greeting(text='abc', when=123)
    gr2 = Greeting(text='def', when=456)
    outer1 = Outer(greetings=[gr1], extra=1)
    outer2 = Outer(greetings=[gr2], extra=2)
    outer3 = Outer(greetings=[gr1, gr2], extra=3)
    store1 = Store(outer=outer1)
    store1.put()
    store2 = Store(outer=outer2)
    store2.put()
    store3 = Store(outer=outer3)
    store3.put()
    res = Store.query(Store.outer.greetings.text == 'abc').fetch()
    self.assertEqual(res, [store1, store3]) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:23,代碼來源:msgprop_test.py

示例4: testNestedFieldErrors

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testNestedFieldErrors(self):
    class Outer(messages.Message):
      greetings = messages.MessageField(Greeting, 1, repeated=True)
      extra = messages.IntegerField(2)
    # Parent/child conflicts.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['greetings.text', 'greetings'])
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['greetings', 'greetings.text'])
    # Duplicate inner field.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['greetings.text',
                                             'greetings.text'])
    # Can't index MessageField.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['greetings'])
    # Can't specify subfields for non-MessageField.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['extra.foobar'])
    # Non-existent subfield.
    self.assertRaises(ValueError, msgprop.MessageProperty,
                      Outer, indexed_fields=['greetings.foobar']) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:24,代碼來源:msgprop_test.py

示例5: testProjectionQueries

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testProjectionQueries(self):
    class Wrapper(messages.Message):
      greet = messages.MessageField(Greeting, 1)

    class Storage(model.Model):
      wrap = msgprop.MessageProperty(Wrapper, indexed_fields=['greet.text',
                                                              'greet.when'])
    gr1 = Greeting(text='abc', when=123)
    wr1 = Wrapper(greet=gr1)
    st1 = Storage(wrap=wr1)
    st1.put()
    res1 = Storage.query().get(projection=['wrap.greet.text',
                                           Storage.wrap.greet.when])
    self.assertNotEqual(res1, st1)
    self.assertEqual(res1.wrap, st1.wrap)
    res2 = Storage.query().get(projection=['wrap.greet.text'])
    self.assertEqual(res2.wrap, Wrapper(greet=Greeting(text='abc'))) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:19,代碼來源:msgprop_test.py

示例6: testProjectionQueriesRepeatedField

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testProjectionQueriesRepeatedField(self):
    class Wrapper(messages.Message):
      greets = messages.MessageField(Greeting, 1, repeated=True)

    class Storage(model.Model):
      wrap = msgprop.MessageProperty(Wrapper, indexed_fields=['greets.text',
                                                              'greets.when'])
    gr1 = Greeting(text='abc', when=123)
    wr1 = Wrapper(greets=[gr1])
    st1 = Storage(wrap=wr1)
    st1.put()
    res1 = Storage.query().get(projection=['wrap.greets.text',
                                           Storage.wrap.greets.when])
    self.assertNotEqual(res1, st1)
    self.assertEqual(res1.wrap, st1.wrap)
    res2 = Storage.query().get(projection=['wrap.greets.text'])
    self.assertEqual(res2.wrap, Wrapper(greets=[Greeting(text='abc')])) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:19,代碼來源:msgprop_test.py

示例7: _message_to_entity

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def _message_to_entity(msg, modelclass):
  """Recursive helper for _to_base_type() to convert a message to an entity.

  Args:
    msg: A Message instance.
    modelclass: A Model subclass.

  Returns:
    An instance of modelclass.
  """
  ent = modelclass()
  for prop_name, prop in modelclass._properties.iteritems():
    if prop._code_name == 'blob_':  # TODO: Devise a cleaner test.
      continue  # That's taken care of later.
    value = getattr(msg, prop_name)
    if value is not None and isinstance(prop, model.StructuredProperty):
      if prop._repeated:
        value = [_message_to_entity(v, prop._modelclass) for v in value]
      else:
        value = _message_to_entity(value, prop._modelclass)
    setattr(ent, prop_name, value)
  return ent 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:24,代碼來源:msgprop.py

示例8: _from_base_type

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def _from_base_type(self, ent):
    """Convert a Model instance (entity) to a Message value."""
    if ent._projection:
      # Projection query result.  Reconstitute the message from the fields.
      return _projected_entity_to_message(ent, self._message_type)

    blob = ent.blob_
    if blob is not None:
      protocol = self._protocol_impl
    else:
      # Perhaps it was written using a different protocol.
      protocol = None
      for name in _protocols_registry.names:
        key = '__%s__' % name
        if key in ent._values:
          blob = ent._values[key]
          if isinstance(blob, model._BaseValue):
            blob = blob.b_val
          protocol = _protocols_registry.lookup_by_name(name)
          break
    if blob is None or protocol is None:
      return None  # This will reveal the underlying dummy model.
    msg = protocol.decode_message(self._message_type, blob)
    return msg 
開發者ID:GoogleCloudPlatform,項目名稱:python-compat-runtime,代碼行數:26,代碼來源:msgprop.py

示例9: testDefineMessageEnumOnly

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testDefineMessageEnumOnly(self):
    """Test definition a message with only enums."""

    class AMessage(messages.Message):
      class NestedEnum(messages.Enum):
        pass

    message_descriptor = descriptor.describe_message(AMessage)

    message_class = definition.define_message(message_descriptor, '__main__')

    self.assertEquals('AMessage', message_class.__name__)
    self.assertEquals('__main__', message_class.__module__)

    self.assertEquals(message_descriptor,
                      descriptor.describe_message(message_class)) 
開發者ID:google,項目名稱:protorpc,代碼行數:18,代碼來源:definition_test.py

示例10: testDefineMessageFieldsOnly

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testDefineMessageFieldsOnly(self):
    """Test definition a message with only fields."""

    class AMessage(messages.Message):

      field1 = messages.IntegerField(1)
      field2 = messages.StringField(2)

    message_descriptor = descriptor.describe_message(AMessage)

    message_class = definition.define_message(message_descriptor, '__main__')

    self.assertEquals('AMessage', message_class.__name__)
    self.assertEquals('__main__', message_class.__module__)

    self.assertEquals(message_descriptor,
                      descriptor.describe_message(message_class)) 
開發者ID:google,項目名稱:protorpc,代碼行數:19,代碼來源:definition_test.py

示例11: testDefineMessage

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testDefineMessage(self):
    """Test defining Message class from descriptor."""

    class AMessage(messages.Message):
      class NestedEnum(messages.Enum):
        pass

      field1 = messages.IntegerField(1)
      field2 = messages.StringField(2)

    message_descriptor = descriptor.describe_message(AMessage)

    message_class = definition.define_message(message_descriptor, '__main__')

    self.assertEquals('AMessage', message_class.__name__)
    self.assertEquals('__main__', message_class.__module__)

    self.assertEquals(message_descriptor,
                      descriptor.describe_message(message_class)) 
開發者ID:google,項目名稱:protorpc,代碼行數:21,代碼來源:definition_test.py

示例12: document_to_message

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def document_to_message(document, message):
  """Builds a search document into an ProtoRPC message.

  Args:
    document: search.ScoredDocument, A document from a search result.
    message: messages.Message, a ProtoRPC.messages message to build.

  Returns:
    A constructed ProtoRPC message.
  """
  for field in document.fields:
    if field.name == 'assignment_date':
      setattr(
          message, 'max_extend_date',
          device_model.calculate_return_dates(field.value).max)
    try:
      setattr(message, field.name, field.value)
    except messages.ValidationError:
      if field.value == 'True':
        setattr(message, field.name, True)
      elif field.value == 'False':
        setattr(message, field.name, False)
      elif isinstance(field.value, float):
        setattr(message, field.name, int(field.value))
    except AttributeError:
      if field.name == 'lat_long':
        setattr(message, 'latitude', field.value.latitude)
        setattr(message, 'longitude', field.value.longitude)
      else:
        logging.error('Unable to map %s to any attribute.', field.name)

  return message 
開發者ID:google,項目名稱:loaner,代碼行數:34,代碼來源:search_utils.py

示例13: set_search_query_options

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def set_search_query_options(request):
  """Sets the search query options based on a ProtoRPC request message.

  Args:
    request: messages.Message, The message that contains the values of the
        query options.

  Returns:
    A tuple containing the values of query options if they exist in the
        message.
  """
  try:
    query = request.query_string
  except AttributeError:
    query = None

  expressions = []
  sort_options = None
  try:
    for message_expression in request.expressions:
      direction = search.SortExpression.DESCENDING
      if (message_expression.direction ==
          shared_messages.SortDirection.ASCENDING):
        direction = search.SortExpression.ASCENDING
      expressions.append(
          search.SortExpression(
              expression=message_expression.expression, direction=direction))
    if expressions:
      sort_options = search.SortOptions(expressions=expressions)
  except AttributeError:
    # We do not want to do anything if the message does not have expressions
    # since sort_options is already set to None above.
    pass

  try:
    returned_fields = request.returned_fields
  except AttributeError:
    returned_fields = None

  return query, sort_options, returned_fields 
開發者ID:google,項目名稱:loaner,代碼行數:42,代碼來源:search_utils.py

示例14: setUp

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def setUp(self):
    super(MsgPropTests, self).setUp()
    global Greeting

    class Greeting(messages.Message):
      text = messages.StringField(1, required=True)
      when = messages.IntegerField(2)
      color = messages.EnumField(Color, 3) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:10,代碼來源:msgprop_test.py

示例15: testRepeatedIndexedField

# 需要導入模塊: from protorpc import messages [as 別名]
# 或者: from protorpc.messages import Message [as 別名]
def testRepeatedIndexedField(self):
    class AltGreeting(messages.Message):
      lines = messages.StringField(1, repeated=True)
      when = messages.IntegerField(2)

    class Store(model.Model):
      altg = msgprop.MessageProperty(AltGreeting, indexed_fields=['lines'])
    s1 = Store(altg=AltGreeting(lines=['foo', 'bar'], when=123))
    s1.put()
    s2 = Store(altg=AltGreeting(lines=['baz', 'bletch'], when=456))
    s2.put()
    res = Store.query(Store.altg.lines == 'foo').fetch()
    self.assertEqual(res, [s1]) 
開發者ID:GoogleCloudPlatform,項目名稱:datastore-ndb-python,代碼行數:15,代碼來源:msgprop_test.py


注:本文中的protorpc.messages.Message方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。