)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"7fa86a4c49864607c61b483b9cb442482cea2dce","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removes the use of exc.args[0] and exc.format_message() to retrieve"},{"line_number":10,"context_line":"message strings from exceptions in favor of using six.text_type() to"},{"line_number":11,"context_line":"maintain compatability between python 2 and 3. Or through normal type"},{"line_number":12,"context_line":"coercion. Adds a __unicode__ method to make things more consistent."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I033c00675a62c0ecaf3e3c2e0bed8b4f79a134e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da20952f_c9069485","line":11,"updated":"2015-09-06 13:12:20.000000000","message":"s/compatability/compatibility/","commit_id":"6cd265a6df248365b860c5064869a44cebab4364"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"882bfe118e36526db030d6fac9a17e78b2efce94","unresolved":false,"context_lines":[{"line_number":10,"context_line":"message strings from exceptions in favor of using six.text_type() to"},{"line_number":11,"context_line":"maintain compatibility between python 2 and 3. Or through normal type"},{"line_number":12,"context_line":"coercion. Adds a __unicode__ method to make things more consistent."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I033c00675a62c0ecaf3e3c2e0bed8b4f79a134e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da20952f_672ad192","line":13,"updated":"2015-09-08 14:54:27.000000000","message":"Looks like this change fixes https://bugs.launchpad.net/ironic/+bug/1493233","commit_id":"95f77031239bd7a7be765ac0e3a2220dce9f2b8f"}],"ironic/common/exception.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"882bfe118e36526db030d6fac9a17e78b2efce94","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def __unicode__(self):"},{"line_number":103,"context_line":"        \"\"\"Return a unicode representation of the exception message.\"\"\""},{"line_number":104,"context_line":"        return unicode(self.args[0])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def format_message(self):"},{"line_number":107,"context_line":"        if self.__class__.__name__.endswith(\u0027_Remote\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_67497060","line":104,"updated":"2015-09-08 14:54:27.000000000","message":"unicode() doesn\u0027t exist in python3, should we worry? I don\u0027t think this method is ever invoked with PY 3. But, I\u0027m not sure","commit_id":"95f77031239bd7a7be765ac0e3a2220dce9f2b8f"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"16606e6dfb4ccb8702dc23f55731ca83f1b0d03a","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def __unicode__(self):"},{"line_number":103,"context_line":"        \"\"\"Return a unicode representation of the exception message.\"\"\""},{"line_number":104,"context_line":"        return unicode(self.args[0])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def format_message(self):"},{"line_number":107,"context_line":"        if self.__class__.__name__.endswith(\u0027_Remote\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_70fa8845","line":104,"in_reply_to":"da20952f_1071cca8","updated":"2015-09-08 15:49:17.000000000","message":"But str() does exist, this is just for py2 afaik.","commit_id":"95f77031239bd7a7be765ac0e3a2220dce9f2b8f"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"58b6755cbf5244aff71d1d6aea05d4f4e4cccb68","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def __unicode__(self):"},{"line_number":103,"context_line":"        \"\"\"Return a unicode representation of the exception message.\"\"\""},{"line_number":104,"context_line":"        return unicode(self.args[0])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def format_message(self):"},{"line_number":107,"context_line":"        if self.__class__.__name__.endswith(\u0027_Remote\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_1071cca8","line":104,"in_reply_to":"da20952f_67497060","updated":"2015-09-08 15:37:06.000000000","message":"Since the patch is using six.string_type() which in Python 2 becomes unicode() and in Python 3 becomes str()\n\nI\u0027m not 100% certain that six.string_type() is the way to go. It seems like str() would be good also, but I am not sure.","commit_id":"95f77031239bd7a7be765ac0e3a2220dce9f2b8f"}],"ironic/drivers/modules/msftocs/msftocsclient.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7829a5249f97bd4b217815a6ba62c48257c5524f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        except requests_exceptions.RequestException as ex:"},{"line_number":72,"context_line":"            LOG.exception(_LE(\"HTTP call failed: %s\"), ex)"},{"line_number":73,"context_line":"            raise exception.MSFTOCSClientApiException("},{"line_number":74,"context_line":"                _(\"HTTP call failed: %s\") % str(ex))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        xml_response \u003d response.text"},{"line_number":77,"context_line":"        LOG.debug(\"Call to %(url)s got response: %(xml_response)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_eaa76f4d","line":74,"updated":"2015-08-27 09:03:01.000000000","message":"str() not needed\n\nraise exception.MSFTOCSClientApiException(_(\"HTTP call failed: %s\") % ex)\n\n...\n\nIf you want, here we have the same message duplicated. We should:\n\n msg \u003d _(\u0027HTTP call failed: %s\u0027) % ex\n LOG.exception(msg)\n raise exception.MSFTOCSClientApiException(msg)","commit_id":"2ed77e4475fd560e04c5a4097338ed0328aadbf2"},{"author":{"_account_id":14228,"name":"Clif Houck","email":"me@clifhouck.com","username":"clif_h"},"change_message_id":"79225401d07fcb2eb3beaf8489d47fb652018d5f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        except requests_exceptions.RequestException as ex:"},{"line_number":72,"context_line":"            LOG.exception(_LE(\"HTTP call failed: %s\"), ex)"},{"line_number":73,"context_line":"            raise exception.MSFTOCSClientApiException("},{"line_number":74,"context_line":"                _(\"HTTP call failed: %s\") % str(ex))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        xml_response \u003d response.text"},{"line_number":77,"context_line":"        LOG.debug(\"Call to %(url)s got response: %(xml_response)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_03670426","line":74,"in_reply_to":"da20952f_eaa76f4d","updated":"2015-08-27 23:30:15.000000000","message":"Got it, and removing duplication as well. Done.","commit_id":"2ed77e4475fd560e04c5a4097338ed0328aadbf2"}],"ironic/drivers/modules/seamicro.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"7829a5249f97bd4b217815a6ba62c48257c5524f","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        except seamicro_client_exception.ClientException as ex:"},{"line_number":581,"context_line":"            LOG.error(_LE(\"Seamicro set boot device failed for node \""},{"line_number":582,"context_line":"                          \"%(node)s with the following error: %(error)s\"),"},{"line_number":583,"context_line":"                      {\u0027node\u0027: task.node.uuid, \u0027error\u0027: str(ex)})"},{"line_number":584,"context_line":"            raise exception.IronicException(message\u003dstr(ex))"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"    def get_boot_device(self, task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_cafceb40","line":583,"updated":"2015-08-27 09:03:01.000000000","message":"str() not needed here\n\n{... , \u0027error\u0027: ex})","commit_id":"2ed77e4475fd560e04c5a4097338ed0328aadbf2"},{"author":{"_account_id":14228,"name":"Clif Houck","email":"me@clifhouck.com","username":"clif_h"},"change_message_id":"79225401d07fcb2eb3beaf8489d47fb652018d5f","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        except seamicro_client_exception.ClientException as ex:"},{"line_number":581,"context_line":"            LOG.error(_LE(\"Seamicro set boot device failed for node \""},{"line_number":582,"context_line":"                          \"%(node)s with the following error: %(error)s\"),"},{"line_number":583,"context_line":"                      {\u0027node\u0027: task.node.uuid, \u0027error\u0027: str(ex)})"},{"line_number":584,"context_line":"            raise exception.IronicException(message\u003dstr(ex))"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"    def get_boot_device(self, task):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_437dfcaf","line":583,"in_reply_to":"da20952f_cafceb40","updated":"2015-08-27 23:30:15.000000000","message":"I see, because the string formatting takes care of the type coercion. Done.","commit_id":"2ed77e4475fd560e04c5a4097338ed0328aadbf2"}],"ironic/tests/drivers/ilo/test_inspect.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"44c247c0ed60400b732d53e65fdb075c6d31e27d","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                                   self.node,"},{"line_number":281,"context_line":"                                   ilo_mock)"},{"line_number":282,"context_line":"        self.assertEqual("},{"line_number":283,"context_line":"            six.text_type(result),"},{"line_number":284,"context_line":"            (\"Failed to inspect hardware. Reason: Server didn\u0027t return the \""},{"line_number":285,"context_line":"             \"key(s): cpu_arch\"))"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_2c9beb67","line":283,"updated":"2015-09-03 18:46:27.000000000","message":"While here, could we change it to the normal way of\n\n self.assertEqual(expected_value, result)\n\nWhere the expected value is the first argument, and the result is the second.\n\nIf you re-spin this patch.","commit_id":"6cd265a6df248365b860c5064869a44cebab4364"}]}
