)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1004760,"name":"Bryan McCoid","email":"bryan.mccoid@couchbase.com","username":"bryandmc","avatars":[{"url":"https://www.gravatar.com/avatar/f77af7b3374842dee4736c92aa059a55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/f77af7b3374842dee4736c92aa059a55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/f77af7b3374842dee4736c92aa059a55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/f77af7b3374842dee4736c92aa059a55.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6feb737bc4b502aadcd4dc0d2c2071071f57f2f9","unresolved":true,"context_lines":[{"line_number":13,"context_line":"are not using a tuple as param like other rest API calls, but they are"},{"line_number":14,"context_line":"using payload instead. When the -d switch is mentioned in the eshell,"},{"line_number":15,"context_line":"this will raise an error because the payload is sent to"},{"line_number":16,"context_line":"_url_encode_params function where it expects param to be a tupple."},{"line_number":17,"context_line":"So here we are trying to avoid that function call by checking if"},{"line_number":18,"context_line":"the parameter is actually a tuple. If not just a simple print works"},{"line_number":19,"context_line":"fine."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2df6498f_e2454f3d","line":16,"updated":"2023-02-23 18:51:55.000000000","message":"NIT: \"tupple\" spelling","commit_id":"c33c9a541357de1375db0d91647514efece946c8"},{"author":{"_account_id":1004951,"name":"Amirbahador Biglarbegian","email":"amir.biglarbegian@couchbase.com","username":"BahadorBiglar","avatars":[{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"44a2899255620ada32a5e03c5355abaec86c1f9d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"are not using a tuple as param like other rest API calls, but they are"},{"line_number":14,"context_line":"using payload instead. When the -d switch is mentioned in the eshell,"},{"line_number":15,"context_line":"this will raise an error because the payload is sent to"},{"line_number":16,"context_line":"_url_encode_params function where it expects param to be a tupple."},{"line_number":17,"context_line":"So here we are trying to avoid that function call by checking if"},{"line_number":18,"context_line":"the parameter is actually a tuple. If not just a simple print works"},{"line_number":19,"context_line":"fine."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b1f9960e_4751ceff","line":16,"in_reply_to":"2df6498f_e2454f3d","updated":"2023-02-23 18:53:34.000000000","message":"Thanks. Done","commit_id":"c33c9a541357de1375db0d91647514efece946c8"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1004230,"name":"Abhijeeth Nuthan","email":"abhijeeth.nuthan@couchbase.com","username":"anuthan","avatars":[{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6f2fcdd92cf9c17041b921ef603c5d913a7ad5ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"70501fb2_d96875f7","updated":"2023-02-23 17:24:15.000000000","message":"check approval","commit_id":"e4f654bc2c89046f7191ec529d2ced6db889a3bf"},{"author":{"_account_id":1004951,"name":"Amirbahador Biglarbegian","email":"amir.biglarbegian@couchbase.com","username":"BahadorBiglar","avatars":[{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"44a2899255620ada32a5e03c5355abaec86c1f9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"de2d56c7_aea38883","updated":"2023-02-23 18:53:34.000000000","message":"make simple-test","commit_id":"c33c9a541357de1375db0d91647514efece946c8"}],"cluster_manager.py":[{"author":{"_account_id":1004230,"name":"Abhijeeth Nuthan","email":"abhijeeth.nuthan@couchbase.com","username":"anuthan","avatars":[{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e4f8fd65f9bf0cd26808047635c1be62.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"07cde33776df0d4a1d7ab1ea508d8f60172122e3","unresolved":true,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7197b638_c31a5d6e","line":2394,"updated":"2023-02-23 19:12:00.000000000","message":"Can you help me with the output of this print? \nYou can choose to add this info in the commit msg.","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"96978d10da4a769601f03873891c245f2edaf1b5","unresolved":false,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aae4b4d_ab16d24a","line":2394,"in_reply_to":"29992116_96d6c7c3","updated":"2023-02-27 09:26:37.000000000","message":"Code looks fine to me, just want to ask the question:\n\nAre we fixing the bug, or coding around it?\n\nShould we be calling this function with a tuple, why does the normal handling not break with a tuple like the debug printing does?","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004257,"name":"Timofey Barmin","email":"timofey.barmin@couchbase.com","username":"timofey-barmin","avatars":[{"url":"https://www.gravatar.com/avatar/f3d67f253451b9d3d488bd28a7020b53.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/f3d67f253451b9d3d488bd28a7020b53.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/f3d67f253451b9d3d488bd28a7020b53.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/f3d67f253451b9d3d488bd28a7020b53.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8c0e797e33b17bde10dcfef84baf4572dfdfb1f9","unresolved":true,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"60a5d7dd_f007e226","line":2394,"in_reply_to":"43700155_fbf74dbe","updated":"2023-02-27 20:17:28.000000000","message":"I don\u0027t understand how it is supposed to work. Seems like params could be None otherwise it can be a dict. In both cases it should fail, no?\n\n\u003e\u003e\u003e len(None)\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nTypeError: object of type \u0027NoneType\u0027 has no len()\n\n\u003e\u003e\u003e params \u003d {\"test\": \"test\"}\n\u003e\u003e\u003e not isinstance(params[0], tuple)\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nKeyError: 0","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"825d0e30d7bddd2e58f1c10796cef9efa2027ba3","unresolved":true,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfa9b44f_c731fbb4","line":2394,"in_reply_to":"60a5d7dd_f007e226","updated":"2023-02-27 20:30:46.000000000","message":"Good catch Timofey\n\n```python\n@classmethod\ndef _url_encode_params(cls, params):\n    return urllib.parse.urlencode(params if params is not None else {})\n```\n\nLooks like we should have a follow-up patch to handle the None case here.\n\nApologies for not catching this.","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004951,"name":"Amirbahador Biglarbegian","email":"amir.biglarbegian@couchbase.com","username":"BahadorBiglar","avatars":[{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"1abb3c5f2be2da67ba98e61d03cd78df9cbfcbd7","unresolved":false,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"54b58dc0_bc26b03f","line":2394,"in_reply_to":"60a5d7dd_f007e226","updated":"2023-02-27 21:32:17.000000000","message":"You\u0027re right. Both issues are valid. I opened another PR on top of this one.","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004951,"name":"Amirbahador Biglarbegian","email":"amir.biglarbegian@couchbase.com","username":"BahadorBiglar","avatars":[{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"aa249ca09aaac5b1b35563a4f04127969d2c75e6","unresolved":false,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"29992116_96d6c7c3","line":2394,"in_reply_to":"7197b638_c31a5d6e","updated":"2023-02-23 19:20:32.000000000","message":"The output will be like this (having -d switch):\n\nPOST http://127.0.0.1:9001/diag/eval {json, atom_to_binary(erlang:get_cookie(), latin1)}.\n\nwill add it to the commit message.","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"},{"author":{"_account_id":1004951,"name":"Amirbahador Biglarbegian","email":"amir.biglarbegian@couchbase.com","username":"BahadorBiglar","avatars":[{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/23c7319c81bddc24a1fe84a5e7afae04.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6e3068913a3f61b6a12b2a8aa29e7e008827cfd8","unresolved":false,"context_lines":[{"line_number":2391,"context_line":"    def _post_form_encoded(self, url, params):"},{"line_number":2392,"context_line":"        if self.debug:"},{"line_number":2393,"context_line":"            if len(params) and not isinstance(params[0], tuple):"},{"line_number":2394,"context_line":"                print(f\u0027POST {url} {params}\u0027)"},{"line_number":2395,"context_line":"            else:"},{"line_number":2396,"context_line":"                print(f\u0027POST {url} {self._url_encode_params(params)}\u0027)"},{"line_number":2397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"43700155_fbf74dbe","line":2394,"in_reply_to":"7aae4b4d_ab16d24a","updated":"2023-02-27 18:23:30.000000000","message":"James,\n\nMy understanding is _url_encode_params is for handling params, where here we are actually not using param but payload. I do agree with you on the fact we\u0027re coding around this problem, and the fix probably could be done in _url_encode_params before calling urlencode, but in that case, probably we should have changed the name of _url_encode_params function and it would have become a big change.","commit_id":"db205ebcacc4e43bb79db8cc274fbb1757cd4e35"}]}
