)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ac49b305a1f2919cb0baa9a969d64fd7f1571e13","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     pandatt \u003cguojy8993@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-09 16:54:42 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add sort_keys retreiving function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_8a237505","line":7,"range":{"start_line":7,"start_character":14,"end_line":7,"end_character":24},"updated":"2019-05-10 03:02:17.000000000","message":"s/retrieving","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     pandatt \u003cguojy8993@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-09 16:54:42 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add sort_keys retreiving function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_cd4e3037","line":7,"range":{"start_line":7,"start_character":14,"end_line":7,"end_character":24},"in_reply_to":"dfbec78f_8a237505","updated":"2019-05-14 14:18:01.000000000","message":"Done","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ac49b305a1f2919cb0baa9a969d64fd7f1571e13","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add sort_keys retreiving function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"},{"line_number":11,"context_line":"bug-1659175."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_2a228901","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":47},"updated":"2019-05-10 03:02:17.000000000","message":"s/retrieve","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add sort_keys retreiving function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"},{"line_number":11,"context_line":"bug-1659175."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_6d6144a9","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":47},"in_reply_to":"dfbec78f_2a228901","updated":"2019-05-14 14:18:01.000000000","message":"Done","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ac49b305a1f2919cb0baa9a969d64fd7f1571e13","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"},{"line_number":11,"context_line":"bug-1659175."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I5ef7a0730122011f5ef18c1b4e2c0bfe82ed585b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_0a66a552","line":11,"updated":"2019-05-10 03:02:17.000000000","message":"You should put something like:\n\nRelated-bug: #1659175\n\nThat way it will get reference in the bug","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch provides a tool function to retreive valid sort keys"},{"line_number":10,"context_line":"from `attr_info` dict. And it\u0027s necessary prerequisite to fix"},{"line_number":11,"context_line":"bug-1659175."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I5ef7a0730122011f5ef18c1b4e2c0bfe82ed585b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dfbec78f_8d66f8c0","line":11,"in_reply_to":"dfbec78f_0a66a552","updated":"2019-05-14 14:18:01.000000000","message":"Done","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"}],"neutron_lib/api/attributes.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ac49b305a1f2919cb0baa9a969d64fd7f1571e13","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_6a2881e1","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"updated":"2019-05-10 03:02:17.000000000","message":"s/retrieve","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5f40a858d126e4831d868a2f00520d17d99367f4","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_4d9c9b0e","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_4d67bbbe","updated":"2019-05-12 09:05:52.000000000","message":"regarding pep8 error, it was fixed by https://review.opendev.org/658245. You can rebase this on top of it to solve the pep8 error.","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_e649e930","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_4d9c9b0e","updated":"2019-05-14 14:18:01.000000000","message":"It works. Thanks","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1eaef2a801da71726703d7dde386395a8274cfa7","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_81eedcb1","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_4d9c9b0e","updated":"2019-05-13 02:07:10.000000000","message":"Thanks.","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d6e9ef45d10b15aca6d5cce084a1f582ec9db2fb","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_b5281e34","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_6a2881e1","updated":"2019-05-10 04:23:51.000000000","message":"This function is public, so could you add docstring? The docstring should cover the purpose of this function, expected arguments, return value and so on.","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_2644e11a","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_6a2881e1","updated":"2019-05-14 14:18:01.000000000","message":"Word spelling errors corrected","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_e6c48993","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_b5281e34","updated":"2019-05-14 14:18:01.000000000","message":"Docs added.","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"cd0e7c21f2c0b14c1850c86a5bf11bf1673c21a1","unresolved":false,"context_lines":[{"line_number":299,"context_line":"RESOURCES \u003d _core_resource_attributes()"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"def retreive_valid_sort_keys(attr_info):"},{"line_number":303,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":304,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfbec78f_4d67bbbe","line":302,"range":{"start_line":302,"start_character":4,"end_line":302,"end_character":12},"in_reply_to":"dfbec78f_b5281e34","updated":"2019-05-12 06:12:03.000000000","message":"Thanks, I am not sure, this patch exist pep8 error, I test it on my devstack, it also exist this error [1], how to deal with it :).\n[1]http://logs.openstack.org/13/657913/3/check/openstack-tox-pep8/3286e62/job-output.txt.gz#_2019-05-09_09_04_33_038624","commit_id":"998cfe8a5aab2671184ee1b27c5e495c84f96137"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"987d0be16b334a412a1bb919dfe6fd3cd1f586e1","unresolved":false,"context_lines":[{"line_number":308,"context_line":"    :param attr_info: The attribute dict for common neutron resource."},{"line_number":309,"context_line":"    :returns: Set of sort keys."},{"line_number":310,"context_line":"    \"\"\""},{"line_number":311,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":312,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_d477a1d3","line":311,"range":{"start_line":311,"start_character":11,"end_line":311,"end_character":16},"updated":"2019-05-14 01:27:14.000000000","message":"nit: [...] is unnecessary now. You can write this like:\n\n  {attr for attr, schema in attr_info.items() ....}","commit_id":"ac914cdb561833b2c6c44bce43b8ca5bfad0f4d6"},{"author":{"_account_id":28889,"name":"Guo Jingyu","email":"guojy8993@163.com","username":"pandatt"},"change_message_id":"343e3bcd59c8fe3189c6c6652b4375a2f1c8b113","unresolved":false,"context_lines":[{"line_number":308,"context_line":"    :param attr_info: The attribute dict for common neutron resource."},{"line_number":309,"context_line":"    :returns: Set of sort keys."},{"line_number":310,"context_line":"    \"\"\""},{"line_number":311,"context_line":"    return set([attr for attr, schema in attr_info.items()"},{"line_number":312,"context_line":"                if schema.get(\u0027is_sort_key\u0027, False)])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_37371f50","line":311,"range":{"start_line":311,"start_character":11,"end_line":311,"end_character":16},"in_reply_to":"dfbec78f_d477a1d3","updated":"2019-05-14 14:18:01.000000000","message":"Thanks for your review and advice helps.","commit_id":"ac914cdb561833b2c6c44bce43b8ca5bfad0f4d6"}]}
