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

Side by Side Diff: third_party/protobuf26/descriptor.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 20 matching lines...) Expand all
31 # Needs to stay compatible with Python 2.5 due to GAE. 31 # Needs to stay compatible with Python 2.5 due to GAE.
32 # 32 #
33 # Copyright 2007 Google Inc. All Rights Reserved. 33 # Copyright 2007 Google Inc. All Rights Reserved.
34 34
35 """Descriptors essentially contain exactly the information found in a .proto 35 """Descriptors essentially contain exactly the information found in a .proto
36 file, in types that make this information accessible in Python. 36 file, in types that make this information accessible in Python.
37 """ 37 """
38 38
39 __author__ = 'robinson@google.com (Will Robinson)' 39 __author__ = 'robinson@google.com (Will Robinson)'
40 40
41 from google.protobuf.internal import api_implementation 41 from protobuf26.internal import api_implementation
42 42
43 43
44 if api_implementation.Type() == 'cpp': 44 if api_implementation.Type() == 'cpp':
45 # Used by MakeDescriptor in cpp mode 45 # Used by MakeDescriptor in cpp mode
46 import os 46 import os
47 import uuid 47 import uuid
48 48
49 if api_implementation.Version() == 2: 49 if api_implementation.Version() == 2:
50 from google.protobuf.pyext import _message 50 from protobuf26.pyext import _message
51 else: 51 else:
52 from google.protobuf.internal import cpp_message 52 from protobuf26.internal import cpp_message
53 53
54 54
55 class Error(Exception): 55 class Error(Exception):
56 """Base error for this module.""" 56 """Base error for this module."""
57 57
58 58
59 class TypeTransformationError(Error): 59 class TypeTransformationError(Error):
60 """Error transforming between python proto type and corresponding C++ type.""" 60 """Error transforming between python proto type and corresponding C++ type."""
61 61
62 62
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 self.has_options = options is not None 99 self.has_options = options is not None
100 100
101 def GetOptions(self): 101 def GetOptions(self):
102 """Retrieves descriptor options. 102 """Retrieves descriptor options.
103 103
104 This method returns the options set or creates the default options for the 104 This method returns the options set or creates the default options for the
105 descriptor. 105 descriptor.
106 """ 106 """
107 if self._options: 107 if self._options:
108 return self._options 108 return self._options
109 from google.protobuf import descriptor_pb2 109 from protobuf26 import descriptor_pb2
110 try: 110 try:
111 options_class = getattr(descriptor_pb2, self._options_class_name) 111 options_class = getattr(descriptor_pb2, self._options_class_name)
112 except AttributeError: 112 except AttributeError:
113 raise RuntimeError('Unknown options class name %s!' % 113 raise RuntimeError('Unknown options class name %s!' %
114 (self._options_class_name)) 114 (self._options_class_name))
115 self._options = options_class() 115 self._options = options_class()
116 return self._options 116 return self._options
117 117
118 118
119 class _NestedDescriptorBase(DescriptorBase): 119 class _NestedDescriptorBase(DescriptorBase):
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 build_file_if_cpp: Update the C++ descriptor pool if api matches. 767 build_file_if_cpp: Update the C++ descriptor pool if api matches.
768 Set to False on recursion, so no duplicates are created. 768 Set to False on recursion, so no duplicates are created.
769 Returns: 769 Returns:
770 A Descriptor for protobuf messages. 770 A Descriptor for protobuf messages.
771 """ 771 """
772 if api_implementation.Type() == 'cpp' and build_file_if_cpp: 772 if api_implementation.Type() == 'cpp' and build_file_if_cpp:
773 # The C++ implementation requires all descriptors to be backed by the same 773 # The C++ implementation requires all descriptors to be backed by the same
774 # definition in the C++ descriptor pool. To do this, we build a 774 # definition in the C++ descriptor pool. To do this, we build a
775 # FileDescriptorProto with the same definition as this descriptor and build 775 # FileDescriptorProto with the same definition as this descriptor and build
776 # it into the pool. 776 # it into the pool.
777 from google.protobuf import descriptor_pb2 777 from protobuf26 import descriptor_pb2
778 file_descriptor_proto = descriptor_pb2.FileDescriptorProto() 778 file_descriptor_proto = descriptor_pb2.FileDescriptorProto()
779 file_descriptor_proto.message_type.add().MergeFrom(desc_proto) 779 file_descriptor_proto.message_type.add().MergeFrom(desc_proto)
780 780
781 # Generate a random name for this proto file to prevent conflicts with 781 # Generate a random name for this proto file to prevent conflicts with
782 # any imported ones. We need to specify a file name so BuildFile accepts 782 # any imported ones. We need to specify a file name so BuildFile accepts
783 # our FileDescriptorProto, but it is not important what that file name 783 # our FileDescriptorProto, but it is not important what that file name
784 # is actually set to. 784 # is actually set to.
785 proto_name = str(uuid.uuid4()) 785 proto_name = str(uuid.uuid4())
786 786
787 if package: 787 if package:
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 field_proto.name, full_name, field_proto.number - 1, 840 field_proto.name, full_name, field_proto.number - 1,
841 field_proto.number, field_proto.type, 841 field_proto.number, field_proto.type,
842 FieldDescriptor.ProtoTypeToCppProtoType(field_proto.type), 842 FieldDescriptor.ProtoTypeToCppProtoType(field_proto.type),
843 field_proto.label, None, nested_desc, enum_desc, None, False, None, 843 field_proto.label, None, nested_desc, enum_desc, None, False, None,
844 has_default_value=False) 844 has_default_value=False)
845 fields.append(field) 845 fields.append(field)
846 846
847 desc_name = '.'.join(full_message_name) 847 desc_name = '.'.join(full_message_name)
848 return Descriptor(desc_proto.name, desc_name, None, None, fields, 848 return Descriptor(desc_proto.name, desc_name, None, None, fields,
849 nested_types.values(), enum_types.values(), []) 849 nested_types.values(), enum_types.values(), [])
OLDNEW
« no previous file with comments | « third_party/protobuf26/compiler/plugin_pb2.py ('k') | third_party/protobuf26/descriptor_database.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698