)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"3ddf33f94e1a633b89b1f58676d3e10a776c3c41","unresolved":true,"context_lines":[{"line_number":10,"context_line":" without providing \u0027value\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch adds compatibility, so etcd can be used"},{"line_number":13,"context_line":"together with abother clients"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-bug: #1967674"},{"line_number":16,"context_line":"Change-Id: I6319d58462481aac4b15048aad57de77094e8769"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"2cee8f51_b3c8d515","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":21},"updated":"2022-04-05 13:25:54.000000000","message":"typo","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"5fa41531c0ea387b3b52ebc87b7eade33b4807c0","unresolved":false,"context_lines":[{"line_number":10,"context_line":" without providing \u0027value\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch adds compatibility, so etcd can be used"},{"line_number":13,"context_line":"together with abother clients"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-bug: #1967674"},{"line_number":16,"context_line":"Change-Id: I6319d58462481aac4b15048aad57de77094e8769"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"4e59d05b_f230cdc2","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":21},"in_reply_to":"2cee8f51_b3c8d515","updated":"2022-04-06 13:57:19.000000000","message":"Done","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"5fa41531c0ea387b3b52ebc87b7eade33b4807c0","unresolved":false,"context_lines":[{"line_number":10,"context_line":" without providing \u0027value\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch adds compatibility, so etcd can be used"},{"line_number":13,"context_line":"together with abother clients"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-bug: #1967674"},{"line_number":16,"context_line":"Change-Id: I6319d58462481aac4b15048aad57de77094e8769"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"53351246_3334faef","line":13,"range":{"start_line":13,"start_character":14,"end_line":13,"end_character":21},"in_reply_to":"2cee8f51_b3c8d515","updated":"2022-04-06 13:57:19.000000000","message":"Done","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"3ddf33f94e1a633b89b1f58676d3e10a776c3c41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"77df338c_6af0bb30","updated":"2022-04-05 13:25:54.000000000","message":"Hello,\n\nAlmost LGTM.\nSee my inline comments.\nAlso, please, can you add a release note to highlight these changes.","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"}],"etcd3gw/client.py":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"8d35dc6c55933fac43d398f1fb9b9a74d913a25a","unresolved":true,"context_lines":[{"line_number":232,"context_line":"        if metadata:"},{"line_number":233,"context_line":"            def value_with_metadata(item):"},{"line_number":234,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":235,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027)) if \u0027value\u0027 in item else b\u0027\u0027"},{"line_number":236,"context_line":"                return value, item"},{"line_number":237,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"119f935e_52a2fbcd","line":235,"updated":"2022-04-04 08:49:47.000000000","message":"same could be achieved as\n\n  value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))","commit_id":"728a2b23eaa0ba8b797d6e849cae6fe51d8d93e8"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"7a852bd7ecc4cd68b7c3d90e7d7e0ce3a854066f","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        if metadata:"},{"line_number":233,"context_line":"            def value_with_metadata(item):"},{"line_number":234,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":235,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027)) if \u0027value\u0027 in item else b\u0027\u0027"},{"line_number":236,"context_line":"                return value, item"},{"line_number":237,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a6a6ce82_82e763d2","line":235,"in_reply_to":"119f935e_52a2fbcd","updated":"2022-04-05 13:10:27.000000000","message":"Done","commit_id":"728a2b23eaa0ba8b797d6e849cae6fe51d8d93e8"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"8d35dc6c55933fac43d398f1fb9b9a74d913a25a","unresolved":true,"context_lines":[{"line_number":236,"context_line":"                return value, item"},{"line_number":237,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return [_decode(item[\u0027value\u0027]) if \u0027value\u0027 in item else b\u0027\u0027"},{"line_number":240,"context_line":"                for item in result[\u0027kvs\u0027]]"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def get_all(self, sort_order\u003dNone, sort_target\u003d\u0027key\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"4c71ce93_ee931c9c","line":239,"range":{"start_line":239,"start_character":16,"end_line":239,"end_character":66},"updated":"2022-04-04 08:49:47.000000000","message":"similarly,\n\n  _decode(item.get(\u0027value\u0027, \u0027\u0027))","commit_id":"728a2b23eaa0ba8b797d6e849cae6fe51d8d93e8"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"7a852bd7ecc4cd68b7c3d90e7d7e0ce3a854066f","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                return value, item"},{"line_number":237,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return [_decode(item[\u0027value\u0027]) if \u0027value\u0027 in item else b\u0027\u0027"},{"line_number":240,"context_line":"                for item in result[\u0027kvs\u0027]]"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def get_all(self, sort_order\u003dNone, sort_target\u003d\u0027key\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dbd6372c_cd337223","line":239,"range":{"start_line":239,"start_character":16,"end_line":239,"end_character":66},"in_reply_to":"4c71ce93_ee931c9c","updated":"2022-04-05 13:10:27.000000000","message":"Done","commit_id":"728a2b23eaa0ba8b797d6e849cae6fe51d8d93e8"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"3ddf33f94e1a633b89b1f58676d3e10a776c3c41","unresolved":true,"context_lines":[{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"c8ab7aba_971f65c2","line":234,"range":{"start_line":234,"start_character":50,"end_line":234,"end_character":52},"updated":"2022-04-05 13:25:54.000000000","message":"What are you thinking about returning None rather than an empty string?\nI haven\u0027t preference so this is just an open question.","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"b1994314da2b1f42bf0f7a86dcb23f51ee00cb12","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"70a150c9_91e101af","line":234,"range":{"start_line":234,"start_character":50,"end_line":234,"end_character":52},"in_reply_to":"51ac3ae2_97cc54e8","updated":"2022-04-15 08:44:18.000000000","message":"Done","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"47f9054d546c063c126f5f57d5393ff92d86bb03","unresolved":true,"context_lines":[{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"51ac3ae2_97cc54e8","line":234,"range":{"start_line":234,"start_character":50,"end_line":234,"end_character":52},"in_reply_to":"985ef0cf_02e713c4","updated":"2022-04-14 14:04:56.000000000","message":"WFM","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"5fa41531c0ea387b3b52ebc87b7eade33b4807c0","unresolved":true,"context_lines":[{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"985ef0cf_02e713c4","line":234,"range":{"start_line":234,"start_character":50,"end_line":234,"end_character":52},"in_reply_to":"c8ab7aba_971f65c2","updated":"2022-04-06 13:57:19.000000000","message":"Well, there is some kind of bug (just created by me https://bugs.launchpad.net/python-etcd3gw/+bug/1968044) so value is not be empty in that case. So I suggest to keep an empty string for now","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"3ddf33f94e1a633b89b1f58676d3e10a776c3c41","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        if \u0027kvs\u0027 not in result:"},{"line_number":229,"context_line":"            return []"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return [_decode(item.get(\u0027value\u0027, \u0027\u0027)) for item in result[\u0027kvs\u0027]]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def get_all(self, sort_order\u003dNone, sort_target\u003d\u0027key\u0027):"},{"line_number":241,"context_line":"        \"\"\"Get all keys currently stored in etcd."}],"source_content_type":"text/x-python","patch_set":4,"id":"e5be9092_62e96678","line":238,"range":{"start_line":231,"start_character":8,"end_line":238,"end_character":73},"updated":"2022-04-05 13:25:54.000000000","message":"Could be worth to add related tests in https://opendev.org/openstack/etcd3gw/src/branch/master/etcd3gw/tests/test_client.py","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"5fa41531c0ea387b3b52ebc87b7eade33b4807c0","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        if \u0027kvs\u0027 not in result:"},{"line_number":229,"context_line":"            return []"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return [_decode(item.get(\u0027value\u0027, \u0027\u0027)) for item in result[\u0027kvs\u0027]]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def get_all(self, sort_order\u003dNone, sort_target\u003d\u0027key\u0027):"},{"line_number":241,"context_line":"        \"\"\"Get all keys currently stored in etcd."}],"source_content_type":"text/x-python","patch_set":4,"id":"73cda0cc_a6d51d8c","line":238,"range":{"start_line":231,"start_character":8,"end_line":238,"end_character":73},"in_reply_to":"e5be9092_62e96678","updated":"2022-04-06 13:57:19.000000000","message":"Done","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"5fa41531c0ea387b3b52ebc87b7eade33b4807c0","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        if \u0027kvs\u0027 not in result:"},{"line_number":229,"context_line":"            return []"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        if metadata:"},{"line_number":232,"context_line":"            def value_with_metadata(item):"},{"line_number":233,"context_line":"                item[\u0027key\u0027] \u003d _decode(item[\u0027key\u0027])"},{"line_number":234,"context_line":"                value \u003d _decode(item.pop(\u0027value\u0027, \u0027\u0027))"},{"line_number":235,"context_line":"                return value, item"},{"line_number":236,"context_line":"            return [value_with_metadata(item) for item in result[\u0027kvs\u0027]]"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return [_decode(item.get(\u0027value\u0027, \u0027\u0027)) for item in result[\u0027kvs\u0027]]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def get_all(self, sort_order\u003dNone, sort_target\u003d\u0027key\u0027):"},{"line_number":241,"context_line":"        \"\"\"Get all keys currently stored in etcd."}],"source_content_type":"text/x-python","patch_set":4,"id":"dd2f2f8f_9ef781a9","line":238,"range":{"start_line":231,"start_character":8,"end_line":238,"end_character":73},"in_reply_to":"e5be9092_62e96678","updated":"2022-04-06 13:57:19.000000000","message":"Done","commit_id":"89f5af9df45a050299358327a32df289d7255ab9"}]}
