)]}'
{"heat/engine/parser.py":[{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"97e3d4e569324ea8ea9172cd145fad178d2e5276","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        value \u003d self.outputs[key].get(\u0027Value\u0027, \u0027\u0027)"},{"line_number":742,"context_line":"        try:"},{"line_number":743,"context_line":"            return self.resolve_runtime_data(value)"},{"line_number":744,"context_line":"        except Exception:"},{"line_number":745,"context_line":"            return None"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def restart_resource(self, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9Qr4%3D","line":744,"updated":"2014-04-07 15:23:41.000000000","message":"Should we just catch exception.InvalidTemplateAttribute here?","commit_id":"52adf73d4d8eeb614e6cfffaad2c98b69dccd94d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"36ab128659693f123d9b90d24aa6b5184a23e7ac","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        value \u003d self.outputs[key].get(\u0027Value\u0027, \u0027\u0027)"},{"line_number":742,"context_line":"        try:"},{"line_number":743,"context_line":"            return self.resolve_runtime_data(value)"},{"line_number":744,"context_line":"        except Exception:"},{"line_number":745,"context_line":"            return None"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def restart_resource(self, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9N6g%3D","line":744,"in_reply_to":"AAAAWH%2F9N8c%3D","updated":"2014-04-07 21:26:22.000000000","message":"...and now I see the next change ;)","commit_id":"52adf73d4d8eeb614e6cfffaad2c98b69dccd94d"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"24fcce5f93bd7c6b6244ddb2f01782888b26328d","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        value \u003d self.outputs[key].get(\u0027Value\u0027, \u0027\u0027)"},{"line_number":742,"context_line":"        try:"},{"line_number":743,"context_line":"            return self.resolve_runtime_data(value)"},{"line_number":744,"context_line":"        except Exception:"},{"line_number":745,"context_line":"            return None"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def restart_resource(self, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9Pcc%3D","line":744,"in_reply_to":"AAAAWH%2F9P8M%3D","updated":"2014-04-07 18:09:34.000000000","message":"I see.  Thanks for the explanation.","commit_id":"52adf73d4d8eeb614e6cfffaad2c98b69dccd94d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"e4d41fc53249722fb7dd69ada2289c2f3f4d2d1e","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        value \u003d self.outputs[key].get(\u0027Value\u0027, \u0027\u0027)"},{"line_number":742,"context_line":"        try:"},{"line_number":743,"context_line":"            return self.resolve_runtime_data(value)"},{"line_number":744,"context_line":"        except Exception:"},{"line_number":745,"context_line":"            return None"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def restart_resource(self, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9N8c%3D","line":744,"in_reply_to":"AAAAWH%2F9Pcc%3D","updated":"2014-04-07 21:24:12.000000000","message":"Catching the error here will actually hide the validation message so the user may never know there is an issue. Instead I suggest doing this inside api.py format_stack_output, and add a key api.OUTPUT_ERROR to hold the validation error message.","commit_id":"52adf73d4d8eeb614e6cfffaad2c98b69dccd94d"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4ca96aa849684d1e13e8ec2a0142254806241459","unresolved":false,"context_lines":[{"line_number":741,"context_line":"        value \u003d self.outputs[key].get(\u0027Value\u0027, \u0027\u0027)"},{"line_number":742,"context_line":"        try:"},{"line_number":743,"context_line":"            return self.resolve_runtime_data(value)"},{"line_number":744,"context_line":"        except Exception:"},{"line_number":745,"context_line":"            return None"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    def restart_resource(self, resource_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9P8M%3D","line":744,"in_reply_to":"AAAAWH%2F9Qr4%3D","updated":"2014-04-07 17:01:07.000000000","message":"I suppose, that will be better catch all exceptions because it will make stack-show output independent for other errors.\nAccording to follow patch heat will be able to catch all errors during reslove_runtime_data and show all error messages in table with other information.\nPossibly if I catch only InvalidTemplateAttribute, some other errors might block other information in stack-show.","commit_id":"52adf73d4d8eeb614e6cfffaad2c98b69dccd94d"}]}
