)]}'
{"nova/api/metadata/vendordata_json.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f406e741ab46d11a60314cdbd8b5d3608989fa96","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                else:"},{"line_number":46,"context_line":"                    LOG.warning(_LW(\"%(logprefix)s unexpected IOError when \""},{"line_number":47,"context_line":"                                    \"reading\"), {\u0027logprefix\u0027: logprefix})"},{"line_number":48,"context_line":"                raise"},{"line_number":49,"context_line":"            except ValueError:"},{"line_number":50,"context_line":"                LOG.warning(_LW(\"%(logprefix)s failed to load json\"),"},{"line_number":51,"context_line":"                            {\u0027logprefix\u0027: logprefix})"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_2f18e1d2","line":48,"updated":"2016-07-11 18:41:12.000000000","message":"Ideally it would use the excutils.save_and_reraise_exception decorator, but this is better than what we have.","commit_id":"2648cf23516cea46de6da3cb10e1dac6cf8c9013"}]}
