)]}'
{"nova/network/ldapdns.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c71bfa90c3910f4b458514364ec29282e80851cd","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _utf8(value):"},{"line_number":37,"context_line":"    return encodeutils.safe_decode(utils.utf8(value))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Importing ldap.modlist breaks the tests for some reason,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_a7443e1b","line":37,"range":{"start_line":37,"start_character":35,"end_line":37,"end_character":45},"updated":"2016-12-09 16:13:42.000000000","message":"I don\u0027t think this is necessary - I could remove it without any side effects","commit_id":"f5798f529b2f6115164ca107e90f6330d36ee876"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c71bfa90c3910f4b458514364ec29282e80851cd","unresolved":false,"context_lines":[{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _utf8(value):"},{"line_number":37,"context_line":"    return encodeutils.safe_decode(utils.utf8(value))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Importing ldap.modlist breaks the tests for some reason,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_475e0aea","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":53},"updated":"2016-12-09 16:13:42.000000000","message":"Personally I\u0027d rather see this inline as it was, but I won\u0027t block on it","commit_id":"f5798f529b2f6115164ca107e90f6330d36ee876"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"349aac4b352e6e1e41d688e7f05fdbd6e78a6260","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _utf8(value):"},{"line_number":37,"context_line":"    return encodeutils.safe_decode(utils.utf8(value))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Importing ldap.modlist breaks the tests for some reason,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_f046d5be","line":37,"range":{"start_line":37,"start_character":35,"end_line":37,"end_character":45},"in_reply_to":"3a71b18c_a7443e1b","updated":"2016-12-10 09:04:22.000000000","message":"In some cases, it will fail if we remove it.like line#69\nit depends the input of utils.utf8, \nencodeutils.safe_decode handle all the cases in an united way","commit_id":"f5798f529b2f6115164ca107e90f6330d36ee876"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ec204d3dbd04d3ef8d42a0f10f72f6b025c5a1","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    @classmethod"},{"line_number":120,"context_line":"    def _soa(cls):"},{"line_number":121,"context_line":"        date \u003d time.strftime(\u0027%Y%m%d%H%M%S\u0027)"},{"line_number":122,"context_line":"        soa \u003d \u0027%s %s %s %d %d %d %d\u0027 % ("},{"line_number":123,"context_line":"                 CONF.ldap_dns_servers[0],"},{"line_number":124,"context_line":"                 CONF.ldap_dns_soa_hostmaster,"},{"line_number":125,"context_line":"                 date,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_c7f85a7f","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":40},"updated":"2016-12-09 16:22:25.000000000","message":"you could replace this with:\n\n    return u\u0027%s %s %s %d %d %d %d\u0027 % (\n\nand remove the return below","commit_id":"f5798f529b2f6115164ca107e90f6330d36ee876"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"349aac4b352e6e1e41d688e7f05fdbd6e78a6260","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    @classmethod"},{"line_number":120,"context_line":"    def _soa(cls):"},{"line_number":121,"context_line":"        date \u003d time.strftime(\u0027%Y%m%d%H%M%S\u0027)"},{"line_number":122,"context_line":"        soa \u003d \u0027%s %s %s %d %d %d %d\u0027 % ("},{"line_number":123,"context_line":"                 CONF.ldap_dns_servers[0],"},{"line_number":124,"context_line":"                 CONF.ldap_dns_soa_hostmaster,"},{"line_number":125,"context_line":"                 date,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_d0c8f957","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":40},"in_reply_to":"3a71b18c_c7f85a7f","updated":"2016-12-10 09:04:22.000000000","message":"yes, it works as you said, not sure we should use united way to handle all cases.","commit_id":"f5798f529b2f6115164ca107e90f6330d36ee876"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"cb95a7a33e77e4c34b7143b7921831130308959a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _utf8(value):"},{"line_number":37,"context_line":"    return encodeutils.safe_decode(utils.utf8(value))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_f4186286","line":36,"updated":"2016-12-12 13:41:20.000000000","message":"This is a bad name for this method. It implies that the method is going to return utf8. It is not, it is going to return unicode.\n\nutils.utf8 creates a utf-8 encoded str (python 2) or bytestring (python 3) from a text_type\n\nencode_utils.safe_decode returns unicode (python2) or str (python 3).","commit_id":"ae134b0753e33e9db5405b910d606eca7f04a16e"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"931ef1548ad3fc3f8e7c51055a2e3537f7283163","unresolved":false,"context_lines":[{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def _utf8(value):"},{"line_number":37,"context_line":"    return encodeutils.safe_decode(utils.utf8(value))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_ecb021f7","line":36,"in_reply_to":"3a71b18c_f4186286","updated":"2016-12-13 12:53:31.000000000","message":"yes, should choose another name, \"_to_unicode\" \n\nwe want to return unicode string ( unicode type in python2 , str type in python 3)","commit_id":"ae134b0753e33e9db5405b910d606eca7f04a16e"}]}
