Unfortunately the Python library doesn't provide a nice interface for this.
 You have to encode/decode the leading varints by hand.  However, the
encoding is pretty simple, so we're talking about maybe a 5-line helper
function.

http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints

I would like to improve this at some point, but there's so much code to
write and so little time...

On Tue, Nov 30, 2010 at 4:01 PM, Dan <lozi...@gmail.com> wrote:

> Hello,
>
> Does anyone have or can point me to an example of handling a stream of
> protobuf messages in python?
>
> Specifically what I'm trying to do is parse a stream that looks like
> the following
>
> <HeaderSize PB int32>
> <HeaderMessage>
> <MessageSize PB int32>
> <Message>
> ...
> <MessageSize PB int32>
> <Message>
>
> The header just gives the list of field names and their types (int,
> double, or string, that's it).  There are no nested messages or
> anything like that in the streamed messages.
>
> Ultimately what I would like to do is put the values from a message
> into a list and pass it over to some other code that writes the data
> into another format (csv, xml, json, etc.)
>
> I've got this handled wonderfully using CodedInputStream in the Java
> implementation but now I need to do it in python and I don't see
> anything equivalent.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To post to this group, send email to proto...@googlegroups.com.
> To unsubscribe from this group, send email to
> protobuf+unsubscr...@googlegroups.com<protobuf%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/protobuf?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to proto...@googlegroups.com.
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to