)]}'
{"openstackclient/identity/v3/role.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"70ad4f7d508d2c6b28c50ec841732e6193d5a625","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        return zip(*sorted(role._info.iteritems()))"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"class AddRole(command.Command):"},{"line_number":148,"context_line":"    \"\"\"Add role command\"\"\""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    api \u003d \u0027identity\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2FtU4%3D","line":147,"updated":"2013-03-15 19:02:54.000000000","message":"Keep the classes sorted...","commit_id":"0a6e979958b963ca0f4a0fb9e24a4d1a8f1e8569"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"70ad4f7d508d2c6b28c50ec841732e6193d5a625","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        parser.add_argument("},{"line_number":156,"context_line":"            \u0027role\u0027,"},{"line_number":157,"context_line":"            metavar\u003d\u0027\u003crole\u003e\u0027,"},{"line_number":158,"context_line":"            help\u003d\u0027Name or ID of role to change\u0027,"},{"line_number":159,"context_line":"        )"},{"line_number":160,"context_line":"        user_or_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":161,"context_line":"        user_or_group.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2FtVc%3D","line":158,"updated":"2013-03-15 19:02:54.000000000","message":"\u0027...role to add\u0027","commit_id":"0a6e979958b963ca0f4a0fb9e24a4d1a8f1e8569"}]}
