)]}'
{"glanceclient/common/http.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9b4e05e942205a464773c6e03e83a235e6bfbb3a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        chunk \u003d body"},{"line_number":64,"context_line":"        while chunk:"},{"line_number":65,"context_line":"            chunk \u003d body.read(CHUNKSIZE)"},{"line_number":66,"context_line":"            if chunk \u003d\u003d b\u0027\u0027:"},{"line_number":67,"context_line":"                break"},{"line_number":68,"context_line":"            yield chunk"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_37d6adc3","line":66,"updated":"2016-07-25 13:43:36.000000000","message":"you can write:\n\nif not chunk: ...\n\n;-)","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"b08cc06382dd328447f999a19c93a2c8d5ece64e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        chunk \u003d body"},{"line_number":64,"context_line":"        while chunk:"},{"line_number":65,"context_line":"            chunk \u003d body.read(CHUNKSIZE)"},{"line_number":66,"context_line":"            if chunk \u003d\u003d b\u0027\u0027:"},{"line_number":67,"context_line":"                break"},{"line_number":68,"context_line":"            yield chunk"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_f01b7a1a","line":66,"in_reply_to":"dada55a8_37d6adc3","updated":"2016-07-25 14:42:38.000000000","message":"Heh. Done. :)","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"}],"glanceclient/exc.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"bc85ba3d2e6282eca8316c2c9436cda06ea4907e","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return cls(details\u003ddetails)"},{"line_number":181,"context_line":"    elif body:"},{"line_number":182,"context_line":"        if six.PY3:"},{"line_number":183,"context_line":"            body \u003d body.encode(\u0027utf-8\u0027)"},{"line_number":184,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_6988eec5","line":183,"updated":"2016-07-06 20:55:20.000000000","message":"Did you add a test for this?","commit_id":"beab6feef7ba37a3b468e6cafc34df8d87fdde2f"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"9935455f5967b96a70b49b837eefd8f391098343","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return cls(details\u003ddetails)"},{"line_number":181,"context_line":"    elif body:"},{"line_number":182,"context_line":"        if six.PY3:"},{"line_number":183,"context_line":"            body \u003d body.encode(\u0027utf-8\u0027)"},{"line_number":184,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_c8a3a0b0","line":183,"in_reply_to":"1aa78d24_6988eec5","updated":"2016-07-07 18:43:23.000000000","message":"Thanks, I\u0027ve added a test for this.","commit_id":"beab6feef7ba37a3b468e6cafc34df8d87fdde2f"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"86499b8cdaeb029648819887317b14b2b2df6de4","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return cls(details\u003ddetails)"},{"line_number":181,"context_line":"    elif body:"},{"line_number":182,"context_line":"        if six.PY3:"},{"line_number":183,"context_line":"            body \u003d body.decode(\u0027utf-8\u0027)"},{"line_number":184,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_1bb8c629","line":183,"updated":"2016-07-20 09:39:48.000000000","message":"How about safe_decode here?\nhttps://github.com/openstack/oslo.utils/blob/master/oslo_utils/encodeutils.py#L27","commit_id":"89b4e77ab339ad4fdf74c98a12465120163ace5e"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"a34b08da3f09d91614302bb5bbffc9b1bf8d0886","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        return cls(details\u003ddetails)"},{"line_number":181,"context_line":"    elif body:"},{"line_number":182,"context_line":"        if six.PY3:"},{"line_number":183,"context_line":"            body \u003d body.decode(\u0027utf-8\u0027)"},{"line_number":184,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_8934234a","line":183,"in_reply_to":"dada55a8_1bb8c629","updated":"2016-07-21 13:47:28.000000000","message":"It should be the same difference in this case, but I\u0027ll use it anyway. Thanks.","commit_id":"89b4e77ab339ad4fdf74c98a12465120163ace5e"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9b4e05e942205a464773c6e03e83a235e6bfbb3a","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        return cls(details\u003ddetails)"},{"line_number":182,"context_line":"    elif body:"},{"line_number":183,"context_line":"        if six.PY3:"},{"line_number":184,"context_line":"            body \u003d encodeutils.safe_decode(body)"},{"line_number":185,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_97583958","line":184,"updated":"2016-07-25 13:43:36.000000000","message":"I dislike safe_decode(), it depends on the current locale encoding :-(\nhttps://wiki.openstack.org/wiki/Python3#safe_decode\n\nI suggest you to write an explicit:\n\n   if isinstance(body, bytes):\n      body \u003d body.decode(\u0027utf-8\u0027)","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"b08cc06382dd328447f999a19c93a2c8d5ece64e","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        return cls(details\u003ddetails)"},{"line_number":182,"context_line":"    elif body:"},{"line_number":183,"context_line":"        if six.PY3:"},{"line_number":184,"context_line":"            body \u003d encodeutils.safe_decode(body)"},{"line_number":185,"context_line":"        details \u003d body.replace(\u0027\\n\\n\u0027, \u0027\\n\u0027)"},{"line_number":186,"context_line":"        return cls(details\u003ddetails)"},{"line_number":187,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_b35aac28","line":184,"in_reply_to":"dada55a8_97583958","updated":"2016-07-25 14:42:38.000000000","message":"Oops, I missed that. Thanks. I\u0027ll revert to what you just suggested.","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"}],"glanceclient/tests/unit/test_http.py":[{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"cc851ba1ee94761fa5de8e347d25f8f7c04ebade","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        test_client \u003d http.HTTPClient(endpoint, token\u003du\u0027adc123\u0027)"},{"line_number":240,"context_line":"        self.assertEqual(test_client.timeout, 600.0)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test__chunk_body_exact_size_chunk(self):"},{"line_number":243,"context_line":"        test_client \u003d http._BaseHTTPClient()"},{"line_number":244,"context_line":"        bytestring \u003d b\u0027x\u0027 * http.CHUNKSIZE"},{"line_number":245,"context_line":"        data \u003d six.BytesIO(bytestring)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_d9859407","line":242,"updated":"2016-07-06 11:28:56.000000000","message":"there is an extra _ in method name","commit_id":"beab6feef7ba37a3b468e6cafc34df8d87fdde2f"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"3b07a91e64378df7b1e344f7684c4e99b512bb8b","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        test_client \u003d http.HTTPClient(endpoint, token\u003du\u0027adc123\u0027)"},{"line_number":240,"context_line":"        self.assertEqual(test_client.timeout, 600.0)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test__chunk_body_exact_size_chunk(self):"},{"line_number":243,"context_line":"        test_client \u003d http._BaseHTTPClient()"},{"line_number":244,"context_line":"        bytestring \u003d b\u0027x\u0027 * http.CHUNKSIZE"},{"line_number":245,"context_line":"        data \u003d six.BytesIO(bytestring)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1aa78d24_8a672c4c","line":242,"in_reply_to":"1aa78d24_d9859407","updated":"2016-07-06 11:36:18.000000000","message":"That\u0027s intentional because I\u0027m testing an internal method \"def _chunk_body(body)\" here: https://github.com/openstack/python-glanceclient/blob/master/glanceclient/common/http.py#L62","commit_id":"beab6feef7ba37a3b468e6cafc34df8d87fdde2f"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"9b4e05e942205a464773c6e03e83a235e6bfbb3a","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        bytestring \u003d b\u0027x\u0027 * http.CHUNKSIZE"},{"line_number":245,"context_line":"        data \u003d six.BytesIO(bytestring)"},{"line_number":246,"context_line":"        chunk \u003d test_client._chunk_body(data)"},{"line_number":247,"context_line":"        self.assertEqual(1, len(list(chunk)))"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_http_chunked_request(self):"},{"line_number":250,"context_line":"        text \u003d \"Ok\""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_320ebb32","line":247,"updated":"2016-07-25 13:43:36.000000000","message":"Would it be possible to check the chunk content on the assertEqual? Is it b\u0027x\u0027*N?\n\n   assertEqual([bytestring], chunk)","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"b08cc06382dd328447f999a19c93a2c8d5ece64e","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        bytestring \u003d b\u0027x\u0027 * http.CHUNKSIZE"},{"line_number":245,"context_line":"        data \u003d six.BytesIO(bytestring)"},{"line_number":246,"context_line":"        chunk \u003d test_client._chunk_body(data)"},{"line_number":247,"context_line":"        self.assertEqual(1, len(list(chunk)))"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_http_chunked_request(self):"},{"line_number":250,"context_line":"        text \u003d \"Ok\""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_d0abd687","line":247,"in_reply_to":"dada55a8_320ebb32","updated":"2016-07-25 14:42:38.000000000","message":"Yeah, that\u0027d be b\u0027x\u0027*N, I could add that.","commit_id":"caa8239c9f63ca0cff900fd3e6316c6b3f98e6d4"}]}
