)]}'
{"ironic/api/controllers/root.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f4da4a86c57144ff05565739b362f5fb3346d21c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                        \"provision baremetal machines.\"),"},{"line_number":30,"context_line":"        \u0027default_version\u0027: version.default_version(),"},{"line_number":31,"context_line":"        \u0027versions\u0027: version.all_versions()"},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class RootController(rest.RestController):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_fef63c5d","line":32,"updated":"2020-07-23 02:50:47.000000000","message":"\u003c3","commit_id":"1e28a056b075e64998fe61069b398d68d1807794"}],"ironic/api/controllers/version.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"34bd403383d72305ff0c539830c420c232dc6182","unresolved":false,"context_lines":[{"line_number":23,"context_line":"def default_version():"},{"line_number":24,"context_line":"    \"\"\"Return a dict representing the current default version"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    id: The ID of the (major) version, also acts as the release number"},{"line_number":27,"context_line":"    links: A list containing one link that points to the current version"},{"line_number":28,"context_line":"    of the API"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_b5d52ce8","line":26,"updated":"2020-07-21 13:00:55.000000000","message":"nit: this is invalid parameter syntax, should be\n\n :param id: \u003c...\u003e","commit_id":"1e28a056b075e64998fe61069b398d68d1807794"}],"ironic/api/method.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b23a67a3e59404e6211a7f76f5be15ce52bf9a6f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    generic\u003dFalse)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def expose():"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def decorate(f):"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_1497d03c","line":35,"updated":"2020-07-20 10:26:59.000000000","message":"Is this function copied/adapted from ironic.api.expose? Maybe delete it from there or somehow use this one?","commit_id":"1e28a056b075e64998fe61069b398d68d1807794"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1910f0bd4e7824e6d167a2df4b0d4980a7dc187c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    generic\u003dFalse)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def expose():"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def decorate(f):"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_caeda88f","line":35,"in_reply_to":"bf51134e_1497d03c","updated":"2020-07-21 02:32:19.000000000","message":"Yes, this expose is a subset of ironic.api.expose.expose. This one will never handle validating arguments or serializing objects to json, so it is only needed to format errors and do some 204 response massaging.\n\nMy intention was for @method.expose to be used for API controllers converted to the new plain json approach, with the old @expose.expose being deleted once the process is complete (as well as all the old ex-WSME code)","commit_id":"1e28a056b075e64998fe61069b398d68d1807794"}],"ironic/tests/unit/api/test_hooks.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"34bd403383d72305ff0c539830c420c232dc6182","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def setUp(self):"},{"line_number":105,"context_line":"        super(TestNoExceptionTracebackHook, self).setUp()"},{"line_number":106,"context_line":"        p \u003d mock.patch.object(root, \u0027root\u0027)"},{"line_number":107,"context_line":"        self.root_convert_mock \u003d p.start()"},{"line_number":108,"context_line":"        self.addCleanup(p.stop)"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_1504d87d","line":106,"updated":"2020-07-21 13:00:55.000000000","message":"nit: autospec\u003dTrue","commit_id":"1e28a056b075e64998fe61069b398d68d1807794"}]}
