)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"71ac5dc9d352645118acc38e4aa88915b6eb95f5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix some inconsistency in docstrings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added colon after \":param\" and \":return\", changed \":return:\" to \":returns:\""},{"line_number":10,"context_line":"according to http://docs.openstack.org/developer/hacking"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I91516e664ccd8f659e34b3943c25d74700abb94c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_ada9267d","line":9,"updated":"2015-11-26 08:58:48.000000000","message":"Add","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"23cf3d7e46310a769ac3ae437ba7b69a9826bfed","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix some inconsistency in docstrings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added colon after \":param\" and \":return\", changed \":return:\" to \":returns:\""},{"line_number":10,"context_line":"according to http://docs.openstack.org/developer/hacking"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I91516e664ccd8f659e34b3943c25d74700abb94c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_6bb8982a","line":10,"updated":"2015-11-30 05:30:22.000000000","message":"I cannot see the points of change \":return:\" to \":returns:\", I think both of them is fine. We\u0027d better to refer to the syntax of sphinx since the doc is generated by sphinx.\n\npls refer to http://sphinx-doc.org/domains.html#info-field-lists where it use `:return:` rather than `:returns:`","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8230747794edbf3d74dab737ac70550c5dc82c12","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix some inconsistency in docstrings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added colon after \":param\" and \":return\", changed \":return:\" to \":returns:\""},{"line_number":10,"context_line":"according to http://docs.openstack.org/developer/hacking"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I91516e664ccd8f659e34b3943c25d74700abb94c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_c86bc5ef","line":10,"in_reply_to":"9a8ffd7b_6bb8982a","updated":"2015-11-30 08:42:28.000000000","message":"So I think Dave is correct, it appears that :return: or :returns: is supported - although I agree with you that the specific OpenStack hacking example uses :returns:\n\nDave - I couldn\u0027t see in the Sphinx doc where it clarified where one form is better than another?","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"4bad19f51609e014f13df7cf0554e927d546fb50","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix some inconsistency in docstrings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added colon after \":param\" and \":return\", changed \":return:\" to \":returns:\""},{"line_number":10,"context_line":"according to http://docs.openstack.org/developer/hacking"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I91516e664ccd8f659e34b3943c25d74700abb94c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_9947244b","line":10,"in_reply_to":"9a8ffd7b_c86bc5ef","updated":"2015-11-30 21:44:52.000000000","message":"Henry - so, per the docs from Sphinx and OpenStack hacking example, I believe both of them is okay, actually, I also believe that the same things like \u0027raise\u0027 and \u0027raises\u0027 are both fine. \n\nIf we cannot give the reason which one is better that the other, the only criteria is whether the docstring could be rendered correctly.","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"}],"keystone/common/controller.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ac3196f7c2810dfa9e44b92b93e3051091d6df46","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            in_favor_of\u003d\u0027v3 API\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    \"\"\""},{"line_number":53,"context_line":"    return: f"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def _build_policy_check_credentials(self, action, context, kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_d240c7a7","line":53,"updated":"2015-11-26 08:40:09.000000000","message":"this isn\u0027t part of the doctstring....","commit_id":"277aa873dfadd30048df8e4ae47b540043db6344"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ac3196f7c2810dfa9e44b92b93e3051091d6df46","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    auth_context \u003d authorization.token_to_auth_context(token_ref)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    return: auth_context"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def protected(callback\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_f2694b26","line":89,"updated":"2015-11-26 08:40:09.000000000","message":"..same here...","commit_id":"277aa873dfadd30048df8e4ae47b540043db6344"}],"keystone/common/kvs/core.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"87137c40ec2321eb77cf6cecbcf6e2af29e48191","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                        this instantiation"},{"line_number":97,"context_line":"        :param region_config_args: key-word args passed to the dogpile.cache"},{"line_number":98,"context_line":"                                   backend for configuration"},{"line_number":99,"context_line":"        :returns:"},{"line_number":100,"context_line":"        \"\"\""},{"line_number":101,"context_line":"        if self.is_configured:"},{"line_number":102,"context_line":"            # NOTE(morganfainberg): It is a bad idea to reconfigure a backend,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_b62e09f9","line":99,"updated":"2015-11-27 16:24:11.000000000","message":"Perhaps adding what it returns or removing this line would be better.","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"}],"keystone/federation/idp.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"87137c40ec2321eb77cf6cecbcf6e2af29e48191","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        :return: XML \u003cEntityDescriptor\u003e object."},{"line_number":467,"context_line":"        :raises keystone.exception.ValidationError: If the required"},{"line_number":468,"context_line":"            config options aren\u0027t set."},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        \"\"\""},{"line_number":471,"context_line":"        self._ensure_required_values_present()"},{"line_number":472,"context_line":"        entity_descriptor \u003d self._create_entity_descriptor()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_16bfd5aa","side":"PARENT","line":469,"updated":"2015-11-27 16:24:11.000000000","message":"Unrelated change ? Notice that the other methods you\u0027ve modified in this file also contain this blank line.\n\nPerhaps it\u0027s better to keep this blank space ?","commit_id":"85a96626c8f854042dd87a84a7c7bd9527b99f5e"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"ca93841c6e2e601bf0e65062afa3be09a8131ae9","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        :returns: XML \u003cEntityDescriptor\u003e object."},{"line_number":467,"context_line":"        :raises keystone.exception.ValidationError: If the required"},{"line_number":468,"context_line":"            config options aren\u0027t set."},{"line_number":469,"context_line":"        "},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"        \"\"\""},{"line_number":472,"context_line":"        self._ensure_required_values_present()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_39e87816","line":469,"updated":"2015-11-30 21:51:57.000000000","message":"remove the black space.","commit_id":"7f814d39767613835f6a7c5bfa0310028184eb3e"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"8e5210788b1840bfc59028fac34b9c26838fe35b","unresolved":false,"context_lines":[{"line_number":466,"context_line":"        :return: XML \u003cEntityDescriptor\u003e object."},{"line_number":467,"context_line":"        :raises keystone.exception.ValidationError: If the required"},{"line_number":468,"context_line":"            config options aren\u0027t set."},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        \"\"\""},{"line_number":471,"context_line":"        self._ensure_required_values_present()"},{"line_number":472,"context_line":"        entity_descriptor \u003d self._create_entity_descriptor()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a740942_ec120709","side":"PARENT","line":469,"updated":"2015-12-04 15:42:56.000000000","message":"nit: idk if this is a fix since this usage is throughout this whole file.","commit_id":"933e118eee3b494401123f3dc23d025b6c4d4803"}],"keystone/tests/unit/test_revoke.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"23cf3d7e46310a769ac3ae437ba7b69a9826bfed","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    value for the attribute, and it does not match the token, no match"},{"line_number":62,"context_line":"    is possible, so skip the remaining checks."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    :param event one: revocation event to match"},{"line_number":65,"context_line":"    :param token_values: dictionary with set of values taken from the"},{"line_number":66,"context_line":"    token"},{"line_number":67,"context_line":"    :returns: if the token matches the revocation event, indicating the"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_0b11cc03","line":64,"updated":"2015-11-30 05:30:22.000000000","message":"change to :param event: one revocation event to match","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"}],"keystone/token/providers/fernet/token_formatters.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7fe14db69b975de3a4660c80917af6383f68e97","unresolved":false,"context_lines":[{"line_number":615,"context_line":"        \"\"\"Validate a federated payload."},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        :param token_string: a string representing the token"},{"line_number":618,"context_line":"        :returns: a tuple containing the user_id, auth methods, audit_ids, and a"},{"line_number":619,"context_line":"                 dictionary containing federated information such as the group"},{"line_number":620,"context_line":"                 IDs, the identity provider ID, the protocol ID, and the"},{"line_number":621,"context_line":"                 federated domain ID"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_d20195b0","line":618,"updated":"2015-11-26 13:39:03.000000000","message":"this line is too long and failing pep8","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"87137c40ec2321eb77cf6cecbcf6e2af29e48191","unresolved":false,"context_lines":[{"line_number":615,"context_line":"        \"\"\"Validate a federated payload."},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        :param token_string: a string representing the token"},{"line_number":618,"context_line":"        :returns: a tuple containing the user_id, auth methods, audit_ids, and a"},{"line_number":619,"context_line":"                 dictionary containing federated information such as the group"},{"line_number":620,"context_line":"                 IDs, the identity provider ID, the protocol ID, and the"},{"line_number":621,"context_line":"                 federated domain ID"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_567b1d28","line":618,"in_reply_to":"9a8ffd7b_d20195b0","updated":"2015-11-27 16:24:11.000000000","message":"Yes:\n\n/keystone/token/providers/fernet/token_formatters.py:618:80: E501 line too long (80 \u003e 79 characters)","commit_id":"fb6998ba513171c80b67f1535f2b88df8579aca7"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"ca93841c6e2e601bf0e65062afa3be09a8131ae9","unresolved":false,"context_lines":[{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        :param token_string: a string representing the token"},{"line_number":618,"context_line":"        :returns: a tuple containing the user_id, auth methods, audit_ids, and"},{"line_number":619,"context_line":"                 a dictionary containing federated information such as the group"},{"line_number":620,"context_line":"                 IDs, the identity provider ID, the protocol ID, and the"},{"line_number":621,"context_line":"                 federated domain ID"},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_d96e0c96","line":619,"updated":"2015-11-30 21:51:57.000000000","message":"either indent with 4 space or align with the \":\",  this also apply to others.","commit_id":"7f814d39767613835f6a7c5bfa0310028184eb3e"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"e977da09789ca327b34d511ade74c099d56d3090","unresolved":false,"context_lines":[{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        :param token_string: a string representing the token"},{"line_number":618,"context_line":"        :returns: a tuple containing the user_id, auth methods, audit_ids, and"},{"line_number":619,"context_line":"                  a dictionary containing federated information such as the group"},{"line_number":620,"context_line":"                  IDs, the identity provider ID, the protocol ID, and the"},{"line_number":621,"context_line":"                  federated domain ID"},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_89b49ad1","line":619,"updated":"2015-12-01 11:00:44.000000000","message":"I just ran \"tox -e pep8\" locally and this line is making that check to fail, see:\n\n./keystone/token/providers/fernet/token_formatters.py:619:80: E501 line too long (81 \u003e 79 characters)","commit_id":"2ee3232bf7171c360cb5c64d50b80c3af9cd1462"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1db2d232ff83a25a5268bacb5cc64e38705cc3a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1a7b0d38_3082c753","updated":"2015-12-23 06:22:37.000000000","message":"looks like a rebase failed here","commit_id":"2b5c2717f847d3c2a4a581af562e7ff32e8cc38b"}]}
