)]}'
{"keystone/catalog/backends/sql.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"be2ebb4511f7f229a7928ad532ccc0e59a362c1e","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            ref.type \u003d new_service.type"},{"line_number":100,"context_line":"            ref.extra \u003d new_service.extra"},{"line_number":101,"context_line":"            session.flush()"},{"line_number":102,"context_line":"        return ref.to_dict()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # Endpoints"},{"line_number":105,"context_line":"    def create_endpoint(self, endpoint_id, endpoint_ref):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F62o%3D","line":102,"updated":"2012-11-15 20:07:31.000000000","message":"Safe indentation thing as below.","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"be2ebb4511f7f229a7928ad532ccc0e59a362c1e","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            ref.region \u003d new_endpoint.region"},{"line_number":151,"context_line":"            ref.extra \u003d new_endpoint.extra"},{"line_number":152,"context_line":"            session.flush()"},{"line_number":153,"context_line":"        return ref.to_dict()"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def get_catalog(self, user_id, tenant_id, metadata\u003dNone):"},{"line_number":156,"context_line":"        d \u003d dict(CONF.iteritems())"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F62w%3D","line":153,"updated":"2012-11-15 20:07:31.000000000","message":"Nesting looks off here.  I would put all of the logic inside the try/catch block.  That way, if we come up with other exceptions, we don\u0027t need to reindent for each one.","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"233bb60a3d2bad306199f45663ed7f81d83e3834","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            ref.region \u003d new_endpoint.region"},{"line_number":151,"context_line":"            ref.extra \u003d new_endpoint.extra"},{"line_number":152,"context_line":"            session.flush()"},{"line_number":153,"context_line":"        return ref.to_dict()"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def get_catalog(self, user_id, tenant_id, metadata\u003dNone):"},{"line_number":156,"context_line":"        d \u003d dict(CONF.iteritems())"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F6yw%3D","line":153,"in_reply_to":"AAAAMH%2F%2F62w%3D","updated":"2012-11-15 20:33:56.000000000","message":"not sure what you mean? the only function that could raise a NoResultFound is one(). However, looking at this code again, I\u0027m not actually sure the transaction is necessary, since it\u0027ll only result in a single UPDATE.","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"}],"tests/test_v3_catalog.py":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"be2ebb4511f7f229a7928ad532ccc0e59a362c1e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \"\"\"DELETE /services/{service_id}\"\"\""},{"line_number":104,"context_line":"        self.delete(\u0027/services/%(service_id)s\u0027 % {"},{"line_number":105,"context_line":"            \u0027service_id\u0027: self.service_id})"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    # endpoint crud tests"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def test_list_endpoints(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F634%3D","line":106,"updated":"2012-11-15 20:07:31.000000000","message":"Status check?","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"233bb60a3d2bad306199f45663ed7f81d83e3834","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \"\"\"DELETE /services/{service_id}\"\"\""},{"line_number":104,"context_line":"        self.delete(\u0027/services/%(service_id)s\u0027 % {"},{"line_number":105,"context_line":"            \u0027service_id\u0027: self.service_id})"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    # endpoint crud tests"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def test_list_endpoints(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F6yU%3D","line":106,"in_reply_to":"AAAAMH%2F%2F634%3D","updated":"2012-11-15 20:33:56.000000000","message":"hmm... a 2xx is already asserted by the test framework, but a assertValidDeletionResponse to check for a 204 No Content would definitely be useful.","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"be2ebb4511f7f229a7928ad532ccc0e59a362c1e","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        \"\"\"DELETE /endpoints/{endpoint_id}\"\"\""},{"line_number":141,"context_line":"        self.delete("},{"line_number":142,"context_line":"            \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":143,"context_line":"                \u0027endpoint_id\u0027: self.endpoint_id})"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMH%2F%2F64E%3D","line":143,"updated":"2012-11-15 20:07:31.000000000","message":"Shouldn\u0027t this have some validation on the status?  200?","commit_id":"1e8ab312091858949155b3f1f37f7406d2a16251"}]}
