)]}'
{"nova/api/openstack/compute/plugins/v3/keypairs.py":[{"author":{"_account_id":9459,"name":".Haifeng Yan","email":"yanheven@qq.com","username":"yan"},"change_message_id":"e8b266d3ebaf990b704153761d39518bbb50b909","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    def _create(self, req, body, **keypair_filters):"},{"line_number":93,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":94,"context_line":"        authorize(context, action\u003d\u0027create\u0027,"},{"line_number":95,"context_line":"                  target\u003d{\u0027user_id\u0027: context.user_id})"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        params \u003d body[\u0027keypair\u0027]"},{"line_number":98,"context_line":"        name \u003d params[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a016987_e0c5143c","line":95,"updated":"2015-05-18 10:27:51.000000000","message":"previous codes is ok since the following authorize steps will construct target from context.","commit_id":"7ee72d7998088b4c5f39bf58e302c393c394372a"}]}
