)]}'
{"keystone/common/ldap/core.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ca5e255217622d41cbdf31eb394d4be3531fa257","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    to the abstract class definition. Should one miss adding the new"},{"line_number":417,"context_line":"    method to any derivations of the abstract class the code will fail"},{"line_number":418,"context_line":"    to load and run making it impossible to forget updating all the"},{"line_number":419,"context_line":"    derived classes."},{"line_number":420,"context_line":"    \"\"\""},{"line_number":421,"context_line":"    @abc.abstractmethod"},{"line_number":422,"context_line":"    def __init__(self, conn\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_3aaa7f71","line":419,"updated":"2015-08-10 09:24:45.000000000","message":"Although not defined in the spec, we tend to use the convention of having a blank line before the trailing \"\"\"","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"d577ba24fa3fbcad0cc774ce1f63d801fe9186c1","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    to the abstract class definition. Should one miss adding the new"},{"line_number":417,"context_line":"    method to any derivations of the abstract class the code will fail"},{"line_number":418,"context_line":"    to load and run making it impossible to forget updating all the"},{"line_number":419,"context_line":"    derived classes."},{"line_number":420,"context_line":"    \"\"\""},{"line_number":421,"context_line":"    @abc.abstractmethod"},{"line_number":422,"context_line":"    def __init__(self, conn\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ad4ba92a","line":419,"in_reply_to":"1a4dcd0f_3aaa7f71","updated":"2015-08-10 14:39:57.000000000","message":"I tend to follow the convention although there is no spec about this. :)","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0be998795b3d08ebe57396dd795a3e50e24db987","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    to the abstract class definition. Should one miss adding the new"},{"line_number":417,"context_line":"    method to any derivations of the abstract class the code will fail"},{"line_number":418,"context_line":"    to load and run making it impossible to forget updating all the"},{"line_number":419,"context_line":"    derived classes."},{"line_number":420,"context_line":"    \"\"\""},{"line_number":421,"context_line":"    @abc.abstractmethod"},{"line_number":422,"context_line":"    def __init__(self, conn\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c4259d5c","line":419,"in_reply_to":"1a4dcd0f_ad4ba92a","updated":"2015-08-10 22:22:23.000000000","message":"The commit that precedes this seems to introduce having a blank line before the trailing \"\"\".","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e849fd66276833cdffc6610f98fedbec314beba9","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    to the abstract class definition. Should one miss adding the new"},{"line_number":417,"context_line":"    method to any derivations of the abstract class the code will fail"},{"line_number":418,"context_line":"    to load and run making it impossible to forget updating all the"},{"line_number":419,"context_line":"    derived classes."},{"line_number":420,"context_line":"    \"\"\""},{"line_number":421,"context_line":"    @abc.abstractmethod"},{"line_number":422,"context_line":"    def __init__(self, conn\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_724c4242","line":419,"in_reply_to":"1a4dcd0f_c4259d5c","updated":"2015-08-14 01:44:11.000000000","message":"sure, seems like both Henry and Lance are happy with a blank line before the trailing \"\"\". Done.","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"aacd57ef2b185a4e3f1ab07a26ab513ef7641f1c","unresolved":false,"context_lines":[{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def result3(self, msgid, all\u003d1, timeout\u003dNone,"},{"line_number":800,"context_line":"                resp_ctrl_classes\u003dNone):"},{"line_number":801,"context_line":"        \"\"\"This method is used to wait for and return result of an operation."},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        This method return the result of an operation previously initiated by"},{"line_number":804,"context_line":"        one of the LDAP asynchronous operation routines (eg search_ext()). It"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_bc4f8bbd","line":801,"updated":"2015-08-14 00:25:06.000000000","message":"change \"return result\" to \"return the result\". Proper English requires it.","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e849fd66276833cdffc6610f98fedbec314beba9","unresolved":false,"context_lines":[{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def result3(self, msgid, all\u003d1, timeout\u003dNone,"},{"line_number":800,"context_line":"                resp_ctrl_classes\u003dNone):"},{"line_number":801,"context_line":"        \"\"\"This method is used to wait for and return result of an operation."},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        This method return the result of an operation previously initiated by"},{"line_number":804,"context_line":"        one of the LDAP asynchronous operation routines (eg search_ext()). It"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_025dfa78","line":801,"in_reply_to":"1a4dcd0f_bc4f8bbd","updated":"2015-08-14 01:44:11.000000000","message":"To avoid this line excced the 79 characters, I am going to cut off some words from the summary line.","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"aacd57ef2b185a4e3f1ab07a26ab513ef7641f1c","unresolved":false,"context_lines":[{"line_number":800,"context_line":"                resp_ctrl_classes\u003dNone):"},{"line_number":801,"context_line":"        \"\"\"This method is used to wait for and return result of an operation."},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        This method return the result of an operation previously initiated by"},{"line_number":804,"context_line":"        one of the LDAP asynchronous operation routines (eg search_ext()). It"},{"line_number":805,"context_line":"        returned an invocation identifier (a message id) upon successful"},{"line_number":806,"context_line":"        initiation of their operation."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_3cca9b1b","line":803,"updated":"2015-08-14 00:25:06.000000000","message":"change \"method return\" to \"method returns\"","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"e849fd66276833cdffc6610f98fedbec314beba9","unresolved":false,"context_lines":[{"line_number":800,"context_line":"                resp_ctrl_classes\u003dNone):"},{"line_number":801,"context_line":"        \"\"\"This method is used to wait for and return result of an operation."},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"        This method return the result of an operation previously initiated by"},{"line_number":804,"context_line":"        one of the LDAP asynchronous operation routines (eg search_ext()). It"},{"line_number":805,"context_line":"        returned an invocation identifier (a message id) upon successful"},{"line_number":806,"context_line":"        initiation of their operation."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_02389a3c","line":803,"in_reply_to":"1a4dcd0f_3cca9b1b","updated":"2015-08-14 01:44:11.000000000","message":"Done","commit_id":"472fa03a373ba004bb85ac2eb6b3b58c2237e2e8"}]}
