{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/5226","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/5226/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/5226/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/5226/events","html_url":"https://github.com/grpc/grpc/issues/5226","id":133321042,"number":5226,"title":"protoc fails when using grpc_python_plugin with hypenated file names.","user":{"login":"tobinthecloud","id":7525750,"avatar_url":"https://avatars.githubusercontent.com/u/7525750?v=3","gravatar_id":"","url":"https://api.github.com/users/tobinthecloud","html_url":"https://github.com/tobinthecloud","followers_url":"https://api.github.com/users/tobinthecloud/followers","following_url":"https://api.github.com/users/tobinthecloud/following{/other_user}","gists_url":"https://api.github.com/users/tobinthecloud/gists{/gist_id}","starred_url":"https://api.github.com/users/tobinthecloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobinthecloud/subscriptions","organizations_url":"https://api.github.com/users/tobinthecloud/orgs","repos_url":"https://api.github.com/users/tobinthecloud/repos","events_url":"https://api.github.com/users/tobinthecloud/events{/privacy}","received_events_url":"https://api.github.com/users/tobinthecloud/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/grpc/grpc/labels/protoc%20plugins","name":"protoc plugins","color":"207de5"},{"url":"https://api.github.com/repos/grpc/grpc/labels/python","name":"python","color":"2619ff"}],"state":"open","locked":false,"assignee":{"login":"jayantkolhe","id":6886327,"avatar_url":"https://avatars.githubusercontent.com/u/6886327?v=3","gravatar_id":"","url":"https://api.github.com/users/jayantkolhe","html_url":"https://github.com/jayantkolhe","followers_url":"https://api.github.com/users/jayantkolhe/followers","following_url":"https://api.github.com/users/jayantkolhe/following{/other_user}","gists_url":"https://api.github.com/users/jayantkolhe/gists{/gist_id}","starred_url":"https://api.github.com/users/jayantkolhe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayantkolhe/subscriptions","organizations_url":"https://api.github.com/users/jayantkolhe/orgs","repos_url":"https://api.github.com/users/jayantkolhe/repos","events_url":"https://api.github.com/users/jayantkolhe/events{/privacy}","received_events_url":"https://api.github.com/users/jayantkolhe/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/grpc/grpc/milestones/42","html_url":"https://github.com/grpc/grpc/milestones/Someday...","labels_url":"https://api.github.com/repos/grpc/grpc/milestones/42/labels","id":1730527,"number":42,"title":"Someday...","description":"We might get to it but it's not scheduled to happen by any fixed date.","creator":{"login":"nathanielmanistaatgoogle","id":10131044,"avatar_url":"https://avatars.githubusercontent.com/u/10131044?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanielmanistaatgoogle","html_url":"https://github.com/nathanielmanistaatgoogle","followers_url":"https://api.github.com/users/nathanielmanistaatgoogle/followers","following_url":"https://api.github.com/users/nathanielmanistaatgoogle/following{/other_user}","gists_url":"https://api.github.com/users/nathanielmanistaatgoogle/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanielmanistaatgoogle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanielmanistaatgoogle/subscriptions","organizations_url":"https://api.github.com/users/nathanielmanistaatgoogle/orgs","repos_url":"https://api.github.com/users/nathanielmanistaatgoogle/repos","events_url":"https://api.github.com/users/nathanielmanistaatgoogle/events{/privacy}","received_events_url":"https://api.github.com/users/nathanielmanistaatgoogle/received_events","type":"User","site_admin":false},"open_issues":58,"closed_issues":9,"state":"open","created_at":"2016-04-25T20:54:48Z","updated_at":"2016-06-10T20:24:08Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2016-02-12T19:18:24Z","updated_at":"2016-06-12T20:19:09Z","closed_at":null,"body":"This command works as expected:\r\n\r\n```\r\nprotoc --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` helloworld.proto \r\n```\r\nBut:\r\n\r\n```\r\nmv helloworld.proto hello-world.proto\r\nprotoc --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` hello-world.proto \r\n```\r\n...results in this cryptic error:\r\n\r\n`hello-world_pb2.py: Tried to insert into file that doesn't exist.\r\n`\r\n\r\nIf I look at the output of protoc without the grpc plugin, I see that the hyphen gets converted to an underscore in the output pb filename, e.g.:\r\n\r\n`protoc --python_out=. hello-world.proto\r\n`\r\n\r\nproduces a file named \"hello_world_pb2.py\"\r\n\r\nI suspect perhaps the grpc_python_plugin is losing track of that s/-/_/g conversion."},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/225458028","html_url":"https://github.com/grpc/grpc/issues/5226#issuecomment-225458028","issue_url":"https://api.github.com/repos/grpc/grpc/issues/5226","id":225458028,"user":{"login":"nathanielmanistaatgoogle","id":10131044,"avatar_url":"https://avatars.githubusercontent.com/u/10131044?v=3","gravatar_id":"","url":"https://api.github.com/users/nathanielmanistaatgoogle","html_url":"https://github.com/nathanielmanistaatgoogle","followers_url":"https://api.github.com/users/nathanielmanistaatgoogle/followers","following_url":"https://api.github.com/users/nathanielmanistaatgoogle/following{/other_user}","gists_url":"https://api.github.com/users/nathanielmanistaatgoogle/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanielmanistaatgoogle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanielmanistaatgoogle/subscriptions","organizations_url":"https://api.github.com/users/nathanielmanistaatgoogle/orgs","repos_url":"https://api.github.com/users/nathanielmanistaatgoogle/repos","events_url":"https://api.github.com/users/nathanielmanistaatgoogle/events{/privacy}","received_events_url":"https://api.github.com/users/nathanielmanistaatgoogle/received_events","type":"User","site_admin":false},"created_at":"2016-06-12T20:19:09Z","updated_at":"2016-06-12T20:19:09Z","body":"@jayantkolhe: please assign this issue to @haberman after adding him to the `grpc` organization so that he can be named as an issue assignee."}}
{"actor":{"display_login":"nathanielmanistaatgoogle"}}