)]}'
{"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"588c0ee8b89c59cbf5e7d7100c3a683949aa2c1e","unresolved":false,"context_lines":[{"line_number":685,"context_line":""},{"line_number":686,"context_line":"        # Do not allow properties to be updated while an instance is"},{"line_number":687,"context_line":"        # associated and the node\u0027s resource usage is being tracked by Nova."},{"line_number":688,"context_line":"        for p in patch:"},{"line_number":689,"context_line":"            if p[\u0027path\u0027].startswith(\u0027/properties\u0027) and \\"},{"line_number":690,"context_line":"               rpc_node[\u0027instance_uuid\u0027]:"},{"line_number":691,"context_line":"                msg \u003d _(\"Properties of node %s can not be modified while \""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_c4a06b44","line":688,"updated":"2014-06-13 21:02:35.000000000","message":"Rather than walking the whole patch set and doing a string comparison on the path, I think it would be more maintainable to check this on the patched \"node\" object at line 699.","commit_id":"832c26dcaf03bbaf0362cdc624979337e719c300"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"61d18ab2ba0e80d48f8401b366cdb977f61b7eb2","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        # Do not allow properties to be updated while an instance is"},{"line_number":687,"context_line":"        # associated and the node\u0027s resource usage is being tracked by Nova."},{"line_number":688,"context_line":"        for p in patch:"},{"line_number":689,"context_line":"            if p[\u0027path\u0027].startswith(\u0027/properties\u0027) and \\"},{"line_number":690,"context_line":"               rpc_node[\u0027instance_uuid\u0027]:"},{"line_number":691,"context_line":"                msg \u003d _(\"Properties of node %s can not be modified while \""},{"line_number":692,"context_line":"                        \"it is associated with an instance \") % node_uuid"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_d91f09b6","line":689,"updated":"2014-06-10 07:23:15.000000000","message":"If you need to push up a new version of this patch, can you please rewrite this not to use \\ and use (...) instead? Thanks.","commit_id":"832c26dcaf03bbaf0362cdc624979337e719c300"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"588c0ee8b89c59cbf5e7d7100c3a683949aa2c1e","unresolved":false,"context_lines":[{"line_number":696,"context_line":"            node \u003d Node(**api_utils.apply_jsonpatch(rpc_node.as_dict(), patch))"},{"line_number":697,"context_line":"        except api_utils.JSONPATCH_EXCEPTIONS as e:"},{"line_number":698,"context_line":"            raise exception.PatchError(patch\u003dpatch, reason\u003de)"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"        # Update only the fields that have changed"},{"line_number":701,"context_line":"        for field in objects.Node.fields:"},{"line_number":702,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_a46b5fef","line":699,"updated":"2014-06-13 21:02:35.000000000","message":"Something like this:\n\n  # Do not allow ...\n  if rpc_node.instance_uuid:\n    try:\n      getattr(node, properties)\n    except AttributeError:\n      pass\n    else:\n      raise wsme.exc.ClientSideError(..)","commit_id":"832c26dcaf03bbaf0362cdc624979337e719c300"}]}
