)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"246fd18f4f319da6e762b322a66d2f6feb99ea7c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Volume."},{"line_number":11,"context_line":"Expected order is Resource ID and Timestamp."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This pache fix this problem."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I338014e5868b2176a3afd549e13d0dd6118b3ac1"},{"line_number":16,"context_line":"Fixes-Bug: #1227495"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAS3%2F%2FpnE%3D","line":13,"updated":"2013-09-23 12:24:46.000000000","message":"patch fixes","commit_id":"61f695d54ffd3720d06f9f3f68e0d2c3bed4eb1f"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"d25c4cbd084802fa32c0f9e71c12577bbe7a6eb3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Volume."},{"line_number":11,"context_line":"Expected order is Resource ID and Timestamp."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This pache fix this problem."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I338014e5868b2176a3afd549e13d0dd6118b3ac1"},{"line_number":16,"context_line":"Fixes-Bug: #1227495"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAS3%2F%2Fox0%3D","line":13,"in_reply_to":"AAAAS3%2F%2FpnE%3D","updated":"2013-09-23 16:02:33.000000000","message":"I will fix it in the next patch.","commit_id":"61f695d54ffd3720d06f9f3f68e0d2c3bed4eb1f"}],"ceilometerclient/common/utils.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"468266c50190cca7d593f460a202d5b45c3d9621","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    kwargs \u003d {}"},{"line_number":57,"context_line":"    if sortby is not None:"},{"line_number":58,"context_line":"        kwargs[\u0027sortby\u0027] \u003d field_labels[sortby]"},{"line_number":59,"context_line":"    print pt.get_string(**kwargs)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def print_dict(d, dict_property\u003d\"Property\", wrap\u003d0):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2FyhA%3D","line":59,"updated":"2013-10-09 19:41:10.000000000","message":"i feel like it\u0027d be more worthwhile to just import cliutils from oslo-incubator rather than patch our own version.","commit_id":"c9254831331df54d351fddc0e3dcd311ed9f4fed"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"0722736682fa47e62fdb1fbbae637472769375eb","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    kwargs \u003d {}"},{"line_number":57,"context_line":"    if sortby is not None:"},{"line_number":58,"context_line":"        kwargs[\u0027sortby\u0027] \u003d field_labels[sortby]"},{"line_number":59,"context_line":"    print pt.get_string(**kwargs)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"def print_dict(d, dict_property\u003d\"Property\", wrap\u003d0):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2FsTA%3D","line":59,"in_reply_to":"AAAATH%2F%2FyhA%3D","updated":"2013-10-11 05:00:55.000000000","message":"I think it is very nice.\nI will challenge it.","commit_id":"c9254831331df54d351fddc0e3dcd311ed9f4fed"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"9bc67a2df52445fb294f0bb1a58f0699ca4dc2b8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                        sortby_index\u003dsortby)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def print_dict(d, dict_property\u003d\"Property\", wrap\u003d0):"},{"line_number":70,"context_line":"    pt \u003d prettytable.PrettyTable([dict_property, \u0027Value\u0027],"},{"line_number":71,"context_line":"                                 caching\u003dFalse, print_empty\u003dFalse)"},{"line_number":72,"context_line":"    pt.align \u003d \u0027l\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FX1A%3D","line":69,"updated":"2013-10-17 02:28:59.000000000","message":"just a quick question, can we directly use the cliutils.print_dict() now?","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"9555aceb0af5b5570c1c1a4b149edd9d8a3b33c4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                        sortby_index\u003dsortby)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def print_dict(d, dict_property\u003d\"Property\", wrap\u003d0):"},{"line_number":70,"context_line":"    pt \u003d prettytable.PrettyTable([dict_property, \u0027Value\u0027],"},{"line_number":71,"context_line":"                                 caching\u003dFalse, print_empty\u003dFalse)"},{"line_number":72,"context_line":"    pt.align \u003d \u0027l\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FXF0%3D","line":69,"in_reply_to":"AAAATH%2F%2FX1A%3D","updated":"2013-10-17 08:37:51.000000000","message":"I think yes.\nthere is bit differnce between this and cliutils.print_dict. but, behavior has no problem.","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"}],"ceilometerclient/tests/test_utils.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"9bc67a2df52445fb294f0bb1a58f0699ca4dc2b8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            Foo(12, \u00270\u0027, \u0027Z\u0027)]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        def do_print_list(sortby):"},{"line_number":62,"context_line":"            org_stdout \u003d sys.stdout"},{"line_number":63,"context_line":"            try:"},{"line_number":64,"context_line":"                sys.stdout \u003d output \u003d six.StringIO()"},{"line_number":65,"context_line":"                utils.print_list(foo_list,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FX0k%3D","line":62,"updated":"2013-10-17 02:28:59.000000000","message":"I guess it should be old_stdout?","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"9555aceb0af5b5570c1c1a4b149edd9d8a3b33c4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            Foo(12, \u00270\u0027, \u0027Z\u0027)]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        def do_print_list(sortby):"},{"line_number":62,"context_line":"            org_stdout \u003d sys.stdout"},{"line_number":63,"context_line":"            try:"},{"line_number":64,"context_line":"                sys.stdout \u003d output \u003d six.StringIO()"},{"line_number":65,"context_line":"                utils.print_list(foo_list,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FXD8%3D","line":62,"in_reply_to":"AAAATH%2F%2FX0k%3D","updated":"2013-10-17 08:37:51.000000000","message":"org_stdout means original stdout.\nBecause org_stdout reverts sys.stdout in L71.\n\nI will modify name like L32 to saved_stdout from org_stdout , because it is little hard to understand.","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"}],"ceilometerclient/v2/shell.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"25fcf9ba700c80460f89b6bf29f6cb21134c3a5f","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027Timestamp\u0027]"},{"line_number":75,"context_line":"        fields \u003d [\u0027resource_id\u0027, \u0027counter_name\u0027, \u0027counter_type\u0027,"},{"line_number":76,"context_line":"                  \u0027counter_volume\u0027, \u0027counter_unit\u0027, \u0027timestamp\u0027]"},{"line_number":77,"context_line":"        samples \u003d sorted(samples, key\u003dlambda o: o.resource_id + o.timestamp)"},{"line_number":78,"context_line":"        utils.print_list(samples, fields, field_labels,"},{"line_number":79,"context_line":"                         sortby\u003dNone)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2FyHU%3D","line":77,"updated":"2013-09-19 12:27:37.000000000","message":"It would be better to use a tuple for the key, instead of concatenating the two strings. We should also try to do the ordering on the server side, if that\u0027s possible.","commit_id":"5ce7e28d51e4ac8eb9129198bfada45716ca8c22"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"093d37462044097a4b1449bf08cbe3e4acc426af","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027Timestamp\u0027]"},{"line_number":75,"context_line":"        fields \u003d [\u0027resource_id\u0027, \u0027counter_name\u0027, \u0027counter_type\u0027,"},{"line_number":76,"context_line":"                  \u0027counter_volume\u0027, \u0027counter_unit\u0027, \u0027timestamp\u0027]"},{"line_number":77,"context_line":"        samples \u003d sorted(samples, key\u003dlambda o: o.resource_id + o.timestamp)"},{"line_number":78,"context_line":"        utils.print_list(samples, fields, field_labels,"},{"line_number":79,"context_line":"                         sortby\u003dNone)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2Fx4s%3D","line":77,"in_reply_to":"AAAAS3%2F%2FyHU%3D","updated":"2013-09-19 14:01:19.000000000","message":"I will fix it to use a tuple in next patch.\nI will try the odering on the server side.","commit_id":"5ce7e28d51e4ac8eb9129198bfada45716ca8c22"}],"openstack-common.conf":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"9bc67a2df52445fb294f0bb1a58f0699ca4dc2b8","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# The list of modules to copy from openstack-common"},{"line_number":4,"context_line":"module\u003dimportutils"},{"line_number":5,"context_line":"module\u003dcliutils"},{"line_number":6,"context_line":"module\u003dinstall_venv_common"},{"line_number":7,"context_line":"module\u003dpy3kcompat"},{"line_number":8,"context_line":""}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATH%2F%2FX1s%3D","line":5,"updated":"2013-10-17 02:28:59.000000000","message":"how about put this in the first line, to keep the order?","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"9555aceb0af5b5570c1c1a4b149edd9d8a3b33c4","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# The list of modules to copy from openstack-common"},{"line_number":4,"context_line":"module\u003dimportutils"},{"line_number":5,"context_line":"module\u003dcliutils"},{"line_number":6,"context_line":"module\u003dinstall_venv_common"},{"line_number":7,"context_line":"module\u003dpy3kcompat"},{"line_number":8,"context_line":""}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATH%2F%2FXFs%3D","line":5,"in_reply_to":"AAAATH%2F%2FX1s%3D","updated":"2013-10-17 08:37:51.000000000","message":"You are right.\nI will fix it.","commit_id":"e580077556fa6ce7f91ecaca0973a0e97c2afd95"}]}
