)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"028dea836eaeb04316a541e44643d5203c6ce399","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Add new excepton ConsoleOutPutNotAvailable and make REST Api to catch"},{"line_number":13,"context_line":"it."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1536509"},{"line_number":16,"context_line":"Change-Id: I718d2168f353fb127a6d217b50fa595a66a1084a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a68dd71_88722aac","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":20},"updated":"2016-01-22 02:10:17.000000000","message":"I should be 1536513","commit_id":"631a25fd9fb95dbaec752c5ad61fbf2bd70715a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"fc333dd38be67df747cb2b6b59031a59d40f03ce","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When we try to call get_console_output(), we may face console is not"},{"line_number":10,"context_line":"available error, raise it up and let API raise HTTPNotFound error."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1536509"},{"line_number":13,"context_line":"Change-Id: I718d2168f353fb127a6d217b50fa595a66a1084a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5aef4532_667e04b0","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":20},"updated":"2016-03-07 09:15:21.000000000","message":"looks like,  you refer to a wrong bug","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"71901033833d06298e393e65a6b1bda15b30f749","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When we try to call get_console_output(), we may face console is not"},{"line_number":10,"context_line":"available error, raise it up and let API raise HTTPNotFound error."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1536509"},{"line_number":13,"context_line":"Change-Id: I718d2168f353fb127a6d217b50fa595a66a1084a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5aef4532_ba1acf15","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":20},"in_reply_to":"5aef4532_667e04b0","updated":"2016-03-07 14:11:28.000000000","message":"+1","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"b75b670fcea92bf5bd6c5f7cd3613f6cf1b65337","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When we try to call get_console_output(), we may face console is not"},{"line_number":10,"context_line":"available error, raise it up and let API raise HTTPNotFound error."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1536509"},{"line_number":13,"context_line":"Change-Id: I718d2168f353fb127a6d217b50fa595a66a1084a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5aef4532_accbcb1d","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":20},"in_reply_to":"5aef4532_667e04b0","updated":"2016-03-08 01:00:54.000000000","message":"oh, thanks, wtf!","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"}],"nova/api/openstack/compute/console_output.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"fc333dd38be67df747cb2b6b59031a59d40f03ce","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # deleted between common.get_instance and get_console_output"},{"line_number":57,"context_line":"        # being called"},{"line_number":58,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":59,"context_line":"                exception.ConsoleNotAvailable) as e:"},{"line_number":60,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":61,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":62,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_b12a087d","line":59,"range":{"start_line":59,"start_character":16,"end_line":59,"end_character":45},"updated":"2016-03-07 09:15:21.000000000","message":"I think 409 is better, as the user expected the instance in a specific status, but it is not, it haven\u0027t a console at all.","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"b75b670fcea92bf5bd6c5f7cd3613f6cf1b65337","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # deleted between common.get_instance and get_console_output"},{"line_number":57,"context_line":"        # being called"},{"line_number":58,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":59,"context_line":"                exception.ConsoleNotAvailable) as e:"},{"line_number":60,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":61,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":62,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_1e0d973e","line":59,"range":{"start_line":59,"start_character":16,"end_line":59,"end_character":45},"in_reply_to":"5aef4532_b12a087d","updated":"2016-03-08 01:00:54.000000000","message":"alex, can you take a look at replied message from sean on the bug 1536513. 404 is should be good enough.","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e7b70e36bbb4ab7cacc6b535879a2500748b4f5b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # deleted between common.get_instance and get_console_output"},{"line_number":57,"context_line":"        # being called"},{"line_number":58,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":59,"context_line":"                exception.ConsoleNotAvailable) as e:"},{"line_number":60,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":61,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":62,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_ec70e5de","line":59,"updated":"2016-03-08 14:42:54.000000000","message":"we need to also update here please:\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/legacy_v2/contrib/console_output.py#L65","commit_id":"b253220f4a40445ac3c443467728b8913618083e"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"41ebf03bc468d83d56ce66a9ea986f58bc0db57e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        # deleted between common.get_instance and get_console_output"},{"line_number":57,"context_line":"        # being called"},{"line_number":58,"context_line":"        except (exception.InstanceNotFound,"},{"line_number":59,"context_line":"                exception.ConsoleNotAvailable) as e:"},{"line_number":60,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":61,"context_line":"        except exception.InstanceNotReady as e:"},{"line_number":62,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_addebb3c","line":59,"in_reply_to":"5aef4532_ec70e5de","updated":"2016-03-09 02:06:13.000000000","message":"Done","commit_id":"b253220f4a40445ac3c443467728b8913618083e"}],"nova/compute/manager.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"fc333dd38be67df747cb2b6b59031a59d40f03ce","unresolved":false,"context_lines":[{"line_number":4428,"context_line":"        context \u003d context.elevated()"},{"line_number":4429,"context_line":"        LOG.info(_LI(\"Get console output\"), context\u003dcontext,"},{"line_number":4430,"context_line":"                  instance\u003dinstance)"},{"line_number":4431,"context_line":""},{"line_number":4432,"context_line":"        output \u003d self.driver.get_console_output(context, instance)"},{"line_number":4433,"context_line":""},{"line_number":4434,"context_line":"        if type(output) is six.text_type:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_2686bcb9","line":4431,"updated":"2016-03-07 09:15:21.000000000","message":"unrelated change","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"b75b670fcea92bf5bd6c5f7cd3613f6cf1b65337","unresolved":false,"context_lines":[{"line_number":4428,"context_line":"        context \u003d context.elevated()"},{"line_number":4429,"context_line":"        LOG.info(_LI(\"Get console output\"), context\u003dcontext,"},{"line_number":4430,"context_line":"                  instance\u003dinstance)"},{"line_number":4431,"context_line":""},{"line_number":4432,"context_line":"        output \u003d self.driver.get_console_output(context, instance)"},{"line_number":4433,"context_line":""},{"line_number":4434,"context_line":"        if type(output) is six.text_type:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_6ce263a1","line":4431,"in_reply_to":"5aef4532_2686bcb9","updated":"2016-03-08 01:00:54.000000000","message":"Done","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"}],"nova/exception.py":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"028dea836eaeb04316a541e44643d5203c6ce399","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"                \"with status %(status)s.\")"},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"class ConsoleLogOutputException(NovaException):"},{"line_number":1126,"context_line":"    msg_fmt \u003d _(\"Console log output could not be retrieved for instance \""},{"line_number":1127,"context_line":"                \"%(instance_id)s. Reason: %(reason)s\")"},{"line_number":1128,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_a8ea8e0d","line":1125,"range":{"start_line":1125,"start_character":0,"end_line":1125,"end_character":47},"updated":"2016-01-22 02:10:17.000000000","message":"We can raise this exception in virt driver layer just like what hyperv does and catch this exception in nova REST API layer.","commit_id":"631a25fd9fb95dbaec752c5ad61fbf2bd70715a2"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"71901033833d06298e393e65a6b1bda15b30f749","unresolved":false,"context_lines":[{"line_number":1177,"context_line":"                \"in pool %(pool_id)s could not be found.\")"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"class ConsoleOutPutNotAvailable(NotFound):"},{"line_number":1181,"context_line":"        msg_fmt \u003d _(\"Console output for instance %(instance_uuid)s \""},{"line_number":1182,"context_line":"                \"is not available.\")"},{"line_number":1183,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_7a6de731","line":1180,"range":{"start_line":1180,"start_character":6,"end_line":1180,"end_character":31},"updated":"2016-03-07 14:11:28.000000000","message":"looks like this one is added but never used.","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"b75b670fcea92bf5bd6c5f7cd3613f6cf1b65337","unresolved":false,"context_lines":[{"line_number":1177,"context_line":"                \"in pool %(pool_id)s could not be found.\")"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"class ConsoleOutPutNotAvailable(NotFound):"},{"line_number":1181,"context_line":"        msg_fmt \u003d _(\"Console output for instance %(instance_uuid)s \""},{"line_number":1182,"context_line":"                \"is not available.\")"},{"line_number":1183,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_de3b2fea","line":1180,"range":{"start_line":1180,"start_character":6,"end_line":1180,"end_character":31},"in_reply_to":"5aef4532_7a6de731","updated":"2016-03-08 01:00:54.000000000","message":"Done","commit_id":"a3ed6d2e50703c419a3f574cb0d332b8bc33e6ae"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"dd2155a6bd7e5cadacb2a873b940b2ddae550dfa","unresolved":false,"context_lines":[{"line_number":9700,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":9701,"context_line":"        with test.nested("},{"line_number":9702,"context_line":"            mock.patch(\u0027nova.virt.libvirt.host.Host.get_domain\u0027,"},{"line_number":9703,"context_line":"                              return_value\u003dmock_dom),"},{"line_number":9704,"context_line":"            mock.patch.object(libvirt_guest.Guest, \u0027get_xml_desc\u0027,"},{"line_number":9705,"context_line":"                              return_value\u003dxml)):"},{"line_number":9706,"context_line":"            self.assertRaises(exception.ConsoleNotAvailable,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_f437acfc","line":9703,"range":{"start_line":9703,"start_character":0,"end_line":9703,"end_character":53},"updated":"2016-03-09 23:23:00.000000000","message":"wonder why mock_dom is necessary. Where is it used?\n\nAlso, a patch decorator should have done the job.","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"478dc966c8a3a08622946a41725a9f1adcd883e8","unresolved":false,"context_lines":[{"line_number":9700,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":9701,"context_line":"        with test.nested("},{"line_number":9702,"context_line":"            mock.patch(\u0027nova.virt.libvirt.host.Host.get_domain\u0027,"},{"line_number":9703,"context_line":"                              return_value\u003dmock_dom),"},{"line_number":9704,"context_line":"            mock.patch.object(libvirt_guest.Guest, \u0027get_xml_desc\u0027,"},{"line_number":9705,"context_line":"                              return_value\u003dxml)):"},{"line_number":9706,"context_line":"            self.assertRaises(exception.ConsoleNotAvailable,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_fc29329c","line":9703,"range":{"start_line":9703,"start_character":0,"end_line":9703,"end_character":53},"in_reply_to":"5aef4532_8daefb2b","updated":"2016-03-10 13:39:52.000000000","message":"guess it\u0027s copied from old cases... and agree no need add it","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3d67a00a9442af361e76b2b1556ad0986c20b602","unresolved":false,"context_lines":[{"line_number":9700,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":9701,"context_line":"        with test.nested("},{"line_number":9702,"context_line":"            mock.patch(\u0027nova.virt.libvirt.host.Host.get_domain\u0027,"},{"line_number":9703,"context_line":"                              return_value\u003dmock_dom),"},{"line_number":9704,"context_line":"            mock.patch.object(libvirt_guest.Guest, \u0027get_xml_desc\u0027,"},{"line_number":9705,"context_line":"                              return_value\u003dxml)):"},{"line_number":9706,"context_line":"            self.assertRaises(exception.ConsoleNotAvailable,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_8daefb2b","line":9703,"range":{"start_line":9703,"start_character":0,"end_line":9703,"end_character":53},"in_reply_to":"5aef4532_f437acfc","updated":"2016-03-10 13:04:52.000000000","message":"Agree, this is needlessly confusing","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"dd2155a6bd7e5cadacb2a873b940b2ddae550dfa","unresolved":false,"context_lines":[{"line_number":9702,"context_line":"            mock.patch(\u0027nova.virt.libvirt.host.Host.get_domain\u0027,"},{"line_number":9703,"context_line":"                              return_value\u003dmock_dom),"},{"line_number":9704,"context_line":"            mock.patch.object(libvirt_guest.Guest, \u0027get_xml_desc\u0027,"},{"line_number":9705,"context_line":"                              return_value\u003dxml)):"},{"line_number":9706,"context_line":"            self.assertRaises(exception.ConsoleNotAvailable,"},{"line_number":9707,"context_line":"                              drvr.get_console_output, self.context, instance)"},{"line_number":9708,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_b4536438","line":9705,"range":{"start_line":9705,"start_character":46,"end_line":9705,"end_character":49},"updated":"2016-03-09 23:23:00.000000000","message":"why patching get_xml_desc again? It\u0027s already patched at 9682 using a decorator.","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3d67a00a9442af361e76b2b1556ad0986c20b602","unresolved":false,"context_lines":[{"line_number":9702,"context_line":"            mock.patch(\u0027nova.virt.libvirt.host.Host.get_domain\u0027,"},{"line_number":9703,"context_line":"                              return_value\u003dmock_dom),"},{"line_number":9704,"context_line":"            mock.patch.object(libvirt_guest.Guest, \u0027get_xml_desc\u0027,"},{"line_number":9705,"context_line":"                              return_value\u003dxml)):"},{"line_number":9706,"context_line":"            self.assertRaises(exception.ConsoleNotAvailable,"},{"line_number":9707,"context_line":"                              drvr.get_console_output, self.context, instance)"},{"line_number":9708,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_cda4834c","line":9705,"range":{"start_line":9705,"start_character":46,"end_line":9705,"end_character":49},"in_reply_to":"5aef4532_b4536438","updated":"2016-03-10 13:04:52.000000000","message":"Agree, this is needlessly confusing","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"}],"nova/tests/unit/virt/xenapi/test_vmops.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"478dc966c8a3a08622946a41725a9f1adcd883e8","unresolved":false,"context_lines":[{"line_number":242,"context_line":"class GetConsoleOutputTestCase(VMOpsTestBase):"},{"line_number":243,"context_line":"    def test_get_console_output_works(self):"},{"line_number":244,"context_line":"        ctxt \u003d context.RequestContext(\u0027user\u0027, \u0027project\u0027)"},{"line_number":245,"context_line":"        instance \u003d fake_instance.fake_instance_obj(ctxt)"},{"line_number":246,"context_line":"        self.mox.StubOutWithMock(self.vmops, \u0027_get_last_dom_id\u0027)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        self.vmops._get_last_dom_id(instance, check_rescue\u003dTrue).AndReturn(42)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aef4532_fc701242","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":16},"updated":"2016-03-10 13:39:52.000000000","message":"this is related change?","commit_id":"a714841b64307b74e99e2fa21cba2a5b839a2ca8"}],"nova/virt/xenapi/vmops.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e7b70e36bbb4ab7cacc6b535879a2500748b4f5b","unresolved":false,"context_lines":[{"line_number":1767,"context_line":"                    \u0027get_console_log\u0027, {\u0027dom_id\u0027: dom_id})"},{"line_number":1768,"context_line":"        except self._session.XenAPI.Failure:"},{"line_number":1769,"context_line":"            LOG.exception(_LE(\"Guest does not have a console available\"))"},{"line_number":1770,"context_line":"            msg \u003d _(\"Guest does not have a console available\")"},{"line_number":1771,"context_line":"            raise exception.NovaException(msg)"},{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":"        return zlib.decompress(base64.b64decode(raw_console_data))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_2c080d2d","side":"PARENT","line":1770,"updated":"2016-03-08 14:42:54.000000000","message":"Nit: it would be nice to re-use this error message, as we are at Soft String Freeze, to save the translators some work during this time.","commit_id":"3781ef8e0cda3781b9e876279d02ce3fd35a4f9b"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"41ebf03bc468d83d56ce66a9ea986f58bc0db57e","unresolved":false,"context_lines":[{"line_number":1767,"context_line":"                    \u0027get_console_log\u0027, {\u0027dom_id\u0027: dom_id})"},{"line_number":1768,"context_line":"        except self._session.XenAPI.Failure:"},{"line_number":1769,"context_line":"            LOG.exception(_LE(\"Guest does not have a console available\"))"},{"line_number":1770,"context_line":"            msg \u003d _(\"Guest does not have a console available\")"},{"line_number":1771,"context_line":"            raise exception.NovaException(msg)"},{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":"        return zlib.decompress(base64.b64decode(raw_console_data))"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_4dbe17d5","side":"PARENT","line":1770,"in_reply_to":"5aef4532_2c080d2d","updated":"2016-03-09 02:06:13.000000000","message":"Done","commit_id":"3781ef8e0cda3781b9e876279d02ce3fd35a4f9b"}]}
