appnexus / pyrobuf

A Cython alternative to Google's Python Protobuf library
Other
554 stars 76 forks source link

Unable to parse service descriptor #156

Open xyzhu1120 opened 3 years ago

xyzhu1120 commented 3 years ago

pyrobuf version: 0.9.3

when parsing the following proto:

message Req { 
    string user_id = 1;
}

message Rsp { 
    int32 ret_code = 1;
}

service face_recognition { 
      rpc FaceReg (Req) returns (Rsp); 
}

pyrobuf will raise an exception:

Traceback (most recent call last):
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/bin/pyrobuf", line 11, in <module>
    load_entry_point('pyrobuf==0.9.3', 'console_scripts', 'pyrobuf')()
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/__main__.py", line 6, in main
    compiler.compile()
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/compile.py", line 88, in compile
    self._compile_spec()
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/compile.py", line 121, in _compile_spec
    self._generate(source)
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/compile.py", line 133, in _generate
    msg_def = self.parser.parse_from_filename(filename, self.includes)
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/parse_proto.py", line 264, in parse_from_filename
    raise e
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/parse_proto.py", line 261, in parse_from_filename
    return cls(s).parse(fname=fname, includes=includes, disabled_tokens=disabled_tokens)
  File "/Users/xyz/WorkSpace/python/face_recognition/venv/lib/python3.7/site-packages/pyrobuf/parse_proto.py", line 246, in parse
    token.type, token.line + 1, self.lines[token.line]))
Exception: unexpected None token on line 81: 'service face_recognition { '

Any plan to implement this keyword or ignore this keyword instead of raising an exception