)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0e854c632d347ec9d9d5b517d01fc4c22edd143","unresolved":false,"context_lines":[{"line_number":11,"context_line":"all the exceptions to a comma delimited string when this situation"},{"line_number":12,"context_line":"occurs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"closes bug: 1287884"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I34753382677e3315ea4a71cfe9b3b82e9f9159bb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAVn%2F%2FMbc%3D","line":14,"updated":"2014-03-07 18:12:51.000000000","message":"This needs to be exactly:\n\n Closes-bug: 1287884","commit_id":"58df6b0ff3d5b07a4929610dff6525a05d965889"}],"nova/virt/vmwareapi/error_util.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a6386af41194b2f96f4dc8a572cbd8ba1332ff55","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def __str__(self):"},{"line_number":45,"context_line":"        if isinstance(self.exception_summary, str):"},{"line_number":46,"context_line":"            return self.exception_summary + \", \" + str(self.exception_obj)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if isinstance(self.exception_summary, list):"},{"line_number":49,"context_line":"            self.exception_summary.append(str(self.exception_obj))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FpMU%3D","line":46,"updated":"2014-03-04 21:56:17.000000000","message":"LGTM, although this whole VimExeption thing is very strange, and unclear on what the point is.","commit_id":"2d6ef08f39ccbf47d28f733e14d371c2244240b5"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"10d527078725332ae8a2428ccd46b44f77226be0","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def __str__(self):"},{"line_number":45,"context_line":"        if isinstance(self.exception_summary, str):"},{"line_number":46,"context_line":"            return self.exception_summary + \", \" + str(self.exception_obj)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if isinstance(self.exception_summary, list):"},{"line_number":49,"context_line":"            self.exception_summary.append(str(self.exception_obj))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FW%2Bc%3D","line":46,"in_reply_to":"AAAAVn%2F%2FpMU%3D","updated":"2014-03-06 16:40:17.000000000","message":"The idea is to provide module/layer exceptions ... all things Vim related are descended from this root class... or wrapped by this root or descendant. So a higher layer can say... \"if it is a VimException I can handle it by doing X.\"\n\nBut it is easy to slip from this pattern into these anti-patterns:\n* https://today.java.net/article/2006/04/04/exception-handling-antipatterns\n\nBTW: looks like I broke some Tempest tests. Another revision shortly.","commit_id":"2d6ef08f39ccbf47d28f733e14d371c2244240b5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d42bcc0e1e37f283d6893e0061d431f4a62c183e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        if isinstance(self.exception_summary, list):"},{"line_number":49,"context_line":"            self.exception_summary.append(str(self.exception_obj))"},{"line_number":50,"context_line":"            return \", \".join([str(e) for e in self.exception_summary])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class SessionOverLoadException(VimException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2Faz4%3D","line":51,"updated":"2014-03-06 07:16:51.000000000","message":"there are too many blank lines here - hence the pep8 failure","commit_id":"2d6ef08f39ccbf47d28f733e14d371c2244240b5"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"10d527078725332ae8a2428ccd46b44f77226be0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        if isinstance(self.exception_summary, list):"},{"line_number":49,"context_line":"            self.exception_summary.append(str(self.exception_obj))"},{"line_number":50,"context_line":"            return \", \".join([str(e) for e in self.exception_summary])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class SessionOverLoadException(VimException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FXBQ%3D","line":51,"in_reply_to":"AAAAVn%2F%2Faz4%3D","updated":"2014-03-06 16:40:17.000000000","message":"It\u0027s more troubling to me that my local pep8 does not notice this problem *at all* I\u0027ve double checked and the rule is running. So I\u0027ve spent the morning rebuilding my development environment.","commit_id":"2d6ef08f39ccbf47d28f733e14d371c2244240b5"}]}
