Fix problem with plugin options on Python 2.7.2 and older.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 8 Apr 2015 15:05:25 +0000 (18:05 +0300)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 8 Apr 2015 15:05:25 +0000 (18:05 +0300)
Update issue 153
Status: FixedInGit

generator/nanopb_generator.py

index b1ee04e..49ce4da 100755 (executable)
@@ -1384,8 +1384,15 @@ def main_plugin():
     data = sys.stdin.read()
     request = plugin_pb2.CodeGeneratorRequest.FromString(data)
     
+    try:
+        # Versions of Python prior to 2.7.3 do not support unicode
+        # input to shlex.split(). Try to convert to str if possible.
+        params = str(request.parameter)
+    except UnicodeEncodeError:
+        params = request.parameter
+    
     import shlex
-    args = shlex.split(request.parameter)
+    args = shlex.split(params)
     options, dummy = optparser.parse_args(args)
     
     Globals.verbose_options = options.verbose