Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: third_party/protobuf26/internal/cpp_message.py

Issue 1162993005: Renamed google.protobuf to protobuf26 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Addressed comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Protocol Buffers - Google's data interchange format 1 # Protocol Buffers - Google's data interchange format
2 # Copyright 2008 Google Inc. All rights reserved. 2 # Copyright 2008 Google Inc. All rights reserved.
3 # http://code.google.com/p/protobuf/ 3 # http://code.google.com/p/protobuf/
4 # 4 #
5 # Redistribution and use in source and binary forms, with or without 5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are 6 # modification, are permitted provided that the following conditions are
7 # met: 7 # met:
8 # 8 #
9 # * Redistributions of source code must retain the above copyright 9 # * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer. 10 # notice, this list of conditions and the following disclaimer.
(...skipping 18 matching lines...) Expand all
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 30
31 """Contains helper functions used to create protocol message classes from 31 """Contains helper functions used to create protocol message classes from
32 Descriptor objects at runtime backed by the protocol buffer C++ API. 32 Descriptor objects at runtime backed by the protocol buffer C++ API.
33 """ 33 """
34 34
35 __author__ = 'petar@google.com (Petar Petrov)' 35 __author__ = 'petar@google.com (Petar Petrov)'
36 36
37 import copy_reg 37 import copy_reg
38 import operator 38 import operator
39 from google.protobuf.internal import _net_proto2___python 39 from protobuf26.internal import _net_proto2___python
40 from google.protobuf.internal import enum_type_wrapper 40 from protobuf26.internal import enum_type_wrapper
41 from google.protobuf import message 41 from protobuf26 import message
42 42
43 43
44 _LABEL_REPEATED = _net_proto2___python.LABEL_REPEATED 44 _LABEL_REPEATED = _net_proto2___python.LABEL_REPEATED
45 _LABEL_OPTIONAL = _net_proto2___python.LABEL_OPTIONAL 45 _LABEL_OPTIONAL = _net_proto2___python.LABEL_OPTIONAL
46 _CPPTYPE_MESSAGE = _net_proto2___python.CPPTYPE_MESSAGE 46 _CPPTYPE_MESSAGE = _net_proto2___python.CPPTYPE_MESSAGE
47 _TYPE_MESSAGE = _net_proto2___python.TYPE_MESSAGE 47 _TYPE_MESSAGE = _net_proto2___python.TYPE_MESSAGE
48 48
49 49
50 def GetDescriptorPool(): 50 def GetDescriptorPool():
51 """Creates a new DescriptorPool C++ object.""" 51 """Creates a new DescriptorPool C++ object."""
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 292
293 class ExtensionDict(object): 293 class ExtensionDict(object):
294 """Extension dictionary added to each protocol message.""" 294 """Extension dictionary added to each protocol message."""
295 295
296 def __init__(self, msg): 296 def __init__(self, msg):
297 self._message = msg 297 self._message = msg
298 self._cmsg = msg._cmsg 298 self._cmsg = msg._cmsg
299 self._values = {} 299 self._values = {}
300 300
301 def __setitem__(self, extension, value): 301 def __setitem__(self, extension, value):
302 from google.protobuf import descriptor 302 from protobuf26 import descriptor
303 if not isinstance(extension, descriptor.FieldDescriptor): 303 if not isinstance(extension, descriptor.FieldDescriptor):
304 raise KeyError('Bad extension %r.' % (extension,)) 304 raise KeyError('Bad extension %r.' % (extension,))
305 cdescriptor = extension._cdescriptor 305 cdescriptor = extension._cdescriptor
306 if (cdescriptor.label != _LABEL_OPTIONAL or 306 if (cdescriptor.label != _LABEL_OPTIONAL or
307 cdescriptor.cpp_type == _CPPTYPE_MESSAGE): 307 cdescriptor.cpp_type == _CPPTYPE_MESSAGE):
308 raise TypeError('Extension %r is repeated and/or a composite type.' % ( 308 raise TypeError('Extension %r is repeated and/or a composite type.' % (
309 extension.full_name,)) 309 extension.full_name,))
310 self._cmsg.SetScalar(cdescriptor, value) 310 self._cmsg.SetScalar(cdescriptor, value)
311 self._values[extension] = value 311 self._values[extension] = value
312 312
313 def __getitem__(self, extension): 313 def __getitem__(self, extension):
314 from google.protobuf import descriptor 314 from protobuf26 import descriptor
315 if not isinstance(extension, descriptor.FieldDescriptor): 315 if not isinstance(extension, descriptor.FieldDescriptor):
316 raise KeyError('Bad extension %r.' % (extension,)) 316 raise KeyError('Bad extension %r.' % (extension,))
317 317
318 cdescriptor = extension._cdescriptor 318 cdescriptor = extension._cdescriptor
319 if (cdescriptor.label != _LABEL_REPEATED and 319 if (cdescriptor.label != _LABEL_REPEATED and
320 cdescriptor.cpp_type != _CPPTYPE_MESSAGE): 320 cdescriptor.cpp_type != _CPPTYPE_MESSAGE):
321 return self._cmsg.GetScalar(cdescriptor) 321 return self._cmsg.GetScalar(cdescriptor)
322 322
323 ext = self._values.get(extension, None) 323 ext = self._values.get(extension, None)
324 if ext is not None: 324 if ext is not None:
325 return ext 325 return ext
326 326
327 ext = self._CreateNewHandle(extension) 327 ext = self._CreateNewHandle(extension)
328 self._values[extension] = ext 328 self._values[extension] = ext
329 return ext 329 return ext
330 330
331 def ClearExtension(self, extension): 331 def ClearExtension(self, extension):
332 from google.protobuf import descriptor 332 from protobuf26 import descriptor
333 if not isinstance(extension, descriptor.FieldDescriptor): 333 if not isinstance(extension, descriptor.FieldDescriptor):
334 raise KeyError('Bad extension %r.' % (extension,)) 334 raise KeyError('Bad extension %r.' % (extension,))
335 self._cmsg.ClearFieldByDescriptor(extension._cdescriptor) 335 self._cmsg.ClearFieldByDescriptor(extension._cdescriptor)
336 if extension in self._values: 336 if extension in self._values:
337 del self._values[extension] 337 del self._values[extension]
338 338
339 def HasExtension(self, extension): 339 def HasExtension(self, extension):
340 from google.protobuf import descriptor 340 from protobuf26 import descriptor
341 if not isinstance(extension, descriptor.FieldDescriptor): 341 if not isinstance(extension, descriptor.FieldDescriptor):
342 raise KeyError('Bad extension %r.' % (extension,)) 342 raise KeyError('Bad extension %r.' % (extension,))
343 return self._cmsg.HasFieldByDescriptor(extension._cdescriptor) 343 return self._cmsg.HasFieldByDescriptor(extension._cdescriptor)
344 344
345 def _FindExtensionByName(self, name): 345 def _FindExtensionByName(self, name):
346 """Tries to find a known extension with the specified name. 346 """Tries to find a known extension with the specified name.
347 347
348 Args: 348 Args:
349 name: Extension full name. 349 name: Extension full name.
350 350
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 return self.ListFields() == other.ListFields() 620 return self.ListFields() == other.ListFields()
621 621
622 def __ne__(self, other): 622 def __ne__(self, other):
623 return not self == other 623 return not self == other
624 624
625 def __hash__(self): 625 def __hash__(self):
626 raise TypeError('unhashable object') 626 raise TypeError('unhashable object')
627 627
628 def __unicode__(self): 628 def __unicode__(self):
629 # Lazy import to prevent circular import when text_format imports this file. 629 # Lazy import to prevent circular import when text_format imports this file.
630 from google.protobuf import text_format 630 from protobuf26 import text_format
631 return text_format.MessageToString(self, as_utf8=True).decode('utf-8') 631 return text_format.MessageToString(self, as_utf8=True).decode('utf-8')
632 632
633 # Attach the local methods to the message class. 633 # Attach the local methods to the message class.
634 for key, value in locals().copy().iteritems(): 634 for key, value in locals().copy().iteritems():
635 if key not in ('key', 'value', '__builtins__', '__name__', '__doc__'): 635 if key not in ('key', 'value', '__builtins__', '__name__', '__doc__'):
636 setattr(cls, key, value) 636 setattr(cls, key, value)
637 637
638 # Static methods: 638 # Static methods:
639 639
640 def RegisterExtension(extension_handle): 640 def RegisterExtension(extension_handle):
(...skipping 13 matching lines...) Expand all
654 cls.FromString = staticmethod(FromString) 654 cls.FromString = staticmethod(FromString)
655 655
656 656
657 657
658 def _AddPropertiesForExtensions(message_descriptor, cls): 658 def _AddPropertiesForExtensions(message_descriptor, cls):
659 """Adds properties for all fields in this protocol message type.""" 659 """Adds properties for all fields in this protocol message type."""
660 extension_dict = message_descriptor.extensions_by_name 660 extension_dict = message_descriptor.extensions_by_name
661 for extension_name, extension_field in extension_dict.iteritems(): 661 for extension_name, extension_field in extension_dict.iteritems():
662 constant_name = extension_name.upper() + '_FIELD_NUMBER' 662 constant_name = extension_name.upper() + '_FIELD_NUMBER'
663 setattr(cls, constant_name, extension_field.number) 663 setattr(cls, constant_name, extension_field.number)
OLDNEW
« no previous file with comments | « third_party/protobuf26/internal/containers.py ('k') | third_party/protobuf26/internal/decoder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698