)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"6da8a4c9250369bc00997a8f69b07ca1cfe404ee","unresolved":false,"context_lines":[{"line_number":62,"context_line":"```"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Change-Id: I36ff6cea6fad9072db83293fb9b9ac3c4dde0a13"},{"line_number":65,"context_line":"Closes-Bug: #1508419"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a8ffd7b_4dfd5539","line":65,"updated":"2015-11-25 11:34:25.000000000","message":"bug should be filed under Ironic project space","commit_id":"c5ad525d1200ea50271f68610b568f42122cc0a6"},{"author":{"_account_id":14614,"name":"Kyrylo Romanenko","display_name":"K.Romanenko","email":"romanenko-kv@hotmail.com","username":"kromanenko"},"change_message_id":"0887053fb2ad4571e40d91a53a4e53f228fb4d19","unresolved":false,"context_lines":[{"line_number":62,"context_line":"```"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Change-Id: I36ff6cea6fad9072db83293fb9b9ac3c4dde0a13"},{"line_number":65,"context_line":"Closes-Bug: #1508419"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a8ffd7b_bfa5c747","line":65,"in_reply_to":"9a8ffd7b_4dfd5539","updated":"2015-11-26 10:00:03.000000000","message":"Done","commit_id":"c5ad525d1200ea50271f68610b568f42122cc0a6"}],"ironicclient/common/cliutils.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"8adb163b66d89e41c50dad1547affdb4bc627ca7","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            value \u003d \u0027\\n  %s\u0027 % format_dict_for_printing(value)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        key \u003d encodeutils.safe_encode(key)"},{"line_number":246,"context_line":"        value \u003d encodeutils.safe_encode(value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if six.PY3:"},{"line_number":249,"context_line":"            key \u003d key.decode()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_edae8997","line":246,"updated":"2015-11-25 11:27:47.000000000","message":"safe_encode raises TypeError if passed value is not one of the : string_types or six.binary_type,  according to fails job logs, value of int type  is passed here due node creation","commit_id":"c5ad525d1200ea50271f68610b568f42122cc0a6"},{"author":{"_account_id":19094,"name":"Aliaksandr Buhayeu","email":"abuhayeu@mirantis.com","username":"abuhayeu"},"change_message_id":"15f696c015db343204ada7d3585f5fa2b3f5fc13","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            value \u003d \u0027\\n  %s\u0027 % format_dict_for_printing(value)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        key \u003d encodeutils.safe_encode(key)"},{"line_number":246,"context_line":"        value \u003d encodeutils.safe_encode(value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if six.PY3:"},{"line_number":249,"context_line":"            key \u003d key.decode()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_5b350bd8","line":246,"in_reply_to":"9a8ffd7b_edae8997","updated":"2015-11-25 11:56:08.000000000","message":"Thanks a lot, Anton!","commit_id":"c5ad525d1200ea50271f68610b568f42122cc0a6"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1f3f7fb1ccb8436f33b1a94118350b4d5cc8197","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    return text"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"def format_dict_for_printing(dct):"},{"line_number":248,"context_line":"    \"\"\"Dict to str formatter adding possibility to print nested unicode values."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    Each dict item would be formatted in a form \u0027key: value\u0027."}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_c04bbc85","line":247,"updated":"2016-09-26 12:34:12.000000000","message":"It still won\u0027t handle lists properly.","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":22749,"name":"Vadim Hmyrov","email":"vhmyrov@mirantis.com","username":"vhmyrov"},"change_message_id":"52f7a6bbb2e7bb819ccfaac2466284b4ee2aaa72","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    return text"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"def format_dict_for_printing(dct):"},{"line_number":248,"context_line":"    \"\"\"Dict to str formatter adding possibility to print nested unicode values."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    Each dict item would be formatted in a form \u0027key: value\u0027."}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_d625c60a","line":247,"in_reply_to":"5a8bc5a2_c04bbc85","updated":"2016-09-28 10:43:57.000000000","message":"Could you give an example of how a list command should look like?","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1f3f7fb1ccb8436f33b1a94118350b4d5cc8197","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    if not dct:"},{"line_number":256,"context_line":"        return \u0027\u0027"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    formatted \u003d \"\u0027%s\u0027: \u0027%s\u0027\""},{"line_number":259,"context_line":"    result \u003d []"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_8b32b5f0","line":258,"range":{"start_line":258,"start_character":17,"end_line":258,"end_character":27},"updated":"2016-09-26 12:34:12.000000000","message":"I\u0027d rather not add \u0027\u0027 all the time. If it is a number, there is no need for quoting. You can decide whether we need quotes or not on L266-269.","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":23375,"name":"Stenio Araujo","email":"stenioaraujo@lsd.ufcg.edu.br","username":"stenioaraujo"},"change_message_id":"1a7e58aa3e16f6682fa4d0449dc077193c825467","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    formatted \u003d \"\u0027%s\u0027: \u0027%s\u0027\""},{"line_number":259,"context_line":"    result \u003d []"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"},{"line_number":262,"context_line":"        value \u003d dct[key]"},{"line_number":263,"context_line":"        if isinstance(value, dict):"},{"line_number":264,"context_line":"            value \u003d format_dict_for_printing(value)"},{"line_number":265,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_734684c0","line":262,"range":{"start_line":261,"start_character":0,"end_line":262,"end_character":24},"updated":"2016-09-23 16:19:40.000000000","message":"Maybe to change this to\nfor key, value in six.iteritems(dct):","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":23375,"name":"Stenio Araujo","email":"stenioaraujo@lsd.ufcg.edu.br","username":"stenioaraujo"},"change_message_id":"1a7e58aa3e16f6682fa4d0449dc077193c825467","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"},{"line_number":262,"context_line":"        value \u003d dct[key]"},{"line_number":263,"context_line":"        if isinstance(value, dict):"},{"line_number":264,"context_line":"            value \u003d format_dict_for_printing(value)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        if not isinstance(key, six.string_types):"},{"line_number":267,"context_line":"            key \u003d six.text_type(key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_eea9c7e0","line":264,"range":{"start_line":263,"start_character":8,"end_line":264,"end_character":51},"updated":"2016-09-23 16:19:40.000000000","message":"Although I don\u0027t think this is gonna happen, if value is a dictionary that points to itself it will result in a infinite loop.","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":23375,"name":"Stenio Araujo","email":"stenioaraujo@lsd.ufcg.edu.br","username":"stenioaraujo"},"change_message_id":"33da3de1dc784d46cc550071f2c94376ce36ca9b","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"},{"line_number":262,"context_line":"        value \u003d dct[key]"},{"line_number":263,"context_line":"        if isinstance(value, dict):"},{"line_number":264,"context_line":"            value \u003d format_dict_for_printing(value)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        if not isinstance(key, six.string_types):"},{"line_number":267,"context_line":"            key \u003d six.text_type(key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_e67ff0dd","line":264,"range":{"start_line":263,"start_character":8,"end_line":264,"end_character":51},"in_reply_to":"5a8bc5a2_e066f84f","updated":"2016-09-26 20:36:24.000000000","message":"I understand, I haven\u0027t noticied dct would be a direct translation of a JSON object. In this case, I don\u0027t think it is possible to ever happen either :)","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":22749,"name":"Vadim Hmyrov","email":"vhmyrov@mirantis.com","username":"vhmyrov"},"change_message_id":"52f7a6bbb2e7bb819ccfaac2466284b4ee2aaa72","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"},{"line_number":262,"context_line":"        value \u003d dct[key]"},{"line_number":263,"context_line":"        if isinstance(value, dict):"},{"line_number":264,"context_line":"            value \u003d format_dict_for_printing(value)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        if not isinstance(key, six.string_types):"},{"line_number":267,"context_line":"            key \u003d six.text_type(key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_f6d722bd","line":264,"range":{"start_line":263,"start_character":8,"end_line":264,"end_character":51},"in_reply_to":"5a8bc5a2_eea9c7e0","updated":"2016-09-28 10:43:57.000000000","message":"Thanks Stenio, agreeing with Vladyslav, I also don\u0027t think this is possible.","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a1f3f7fb1ccb8436f33b1a94118350b4d5cc8197","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    for key in dct:"},{"line_number":262,"context_line":"        value \u003d dct[key]"},{"line_number":263,"context_line":"        if isinstance(value, dict):"},{"line_number":264,"context_line":"            value \u003d format_dict_for_printing(value)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        if not isinstance(key, six.string_types):"},{"line_number":267,"context_line":"            key \u003d six.text_type(key)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a8bc5a2_e066f84f","line":264,"range":{"start_line":263,"start_character":8,"end_line":264,"end_character":51},"in_reply_to":"5a8bc5a2_eea9c7e0","updated":"2016-09-26 12:34:12.000000000","message":"Well, I don\u0027t know how this is possible in JSON :)","commit_id":"d8b7447b12a26d2871e2ef26ceea8ff33227fe94"}]}
