Have you tried just using the FieldDescriptor? I suspect that will work, as 
it's what some of our own code does. For example see:

https://github.com/google/protobuf/blob/master/python/google/protobuf/text_format.py#L819

On Monday, April 24, 2017 at 8:19:23 PM UTC-7, Robert Dyer wrote:
>
> I'm writing a protoc plugin for 2.5.0.  My plugin is in Python.
>
> Given the following proto:
>
> import "google/protobuf/descriptor.proto";
>
> message Test {
>     extend google.protobuf.MessageOptions {
>         optional int custom_option = 50000;
>     }
>
>     message Nested {
>         option (custom_option) = 5;
>     }
> } 
>
>
> If I want, I can compile this to Python.  Then in my plugin I can import 
> that Test_pb2.py file and lookup the option:
>
>
> var.options.Extensions[Test.custom_option]
>
>
> This works fine.  However, the problem I can't figure out is that I need 
> to design the plugin so it works with *any* input file with *any* declared 
> extension option.  So I can't write my code as 'Test.custom_option' because 
> I don't know beforehand what options will be declared.
>
>
> I can get the extension dynamically from the Descriptor.extension list. 
>  But this is a FieldDescriptorProto and to look up the extension in 
> options.Extensions I need an 'extension handle'.  I'm not sure what that is 
> or how to get it.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to