)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a10c5240992f70e35ee51e14807a17a95244dde6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5d3d700b_750b1d38","updated":"2022-08-16 14:17:04.000000000","message":"Hi Lucas, is this patch still valid?","commit_id":"8cdd699c087b6cd816c5196a7855d9ec3ed9609a"}],"ovsdbapp/schema/ovn_northbound/api.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8c6106dc037db33bb3b90a66827a6ec0e59a73bb","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :type priority:   int"},{"line_number":134,"context_line":"        :param match:     The match rule"},{"line_number":135,"context_line":"        :type match:      string"},{"line_number":136,"context_line":"        :param if_exists:   If True, don\u0027t fail if the ACL"},{"line_number":137,"context_line":"                            doesn\u0027t exist"},{"line_number":138,"context_line":"        :type if_exists:    boolean"},{"line_number":139,"context_line":"        :returns:         :class:`Command` with no result"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_68eb0177","line":136,"updated":"2020-05-01 12:49:16.000000000","message":"nit: indentation and maybe fit this in one line","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"363d4308d3e326a26de5ae88c9c1b0318da0557a","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :type priority:   int"},{"line_number":134,"context_line":"        :param match:     The match rule"},{"line_number":135,"context_line":"        :type match:      string"},{"line_number":136,"context_line":"        :param if_exists:   If True, don\u0027t fail if the ACL"},{"line_number":137,"context_line":"                            doesn\u0027t exist"},{"line_number":138,"context_line":"        :type if_exists:    boolean"},{"line_number":139,"context_line":"        :returns:         :class:`Command` with no result"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_886bedee","line":136,"in_reply_to":"1f493fa4_68eb0177","updated":"2020-05-01 12:51:35.000000000","message":"Good point! Thanks, if I happen to submit a new patch-set I will fix this.","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"}],"ovsdbapp/schema/ovn_northbound/commands.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"5c4d5528066470db54019c64e798279bf371dd49","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for acl in [a for a in entity.acls"},{"line_number":180,"context_line":"                    if idlutils.row_match(a, self.conditions)]:"},{"line_number":181,"context_line":"            entity.delvalue(\u0027acls\u0027, acl)"},{"line_number":182,"context_line":"            acl.delete()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class AclDelCommand(_AclDelHelper):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_a9b69489","line":182,"updated":"2020-05-04 07:22:14.000000000","message":"It seems that doesn\u0027t do what the docs say. It will not fail in case the entity doesn\u0027t exist and not the acl. Maybe I\u0027m missing something.","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"71bd2d122c5bd155b43c7273e892e72c1c660741","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for acl in [a for a in entity.acls"},{"line_number":180,"context_line":"                    if idlutils.row_match(a, self.conditions)]:"},{"line_number":181,"context_line":"            entity.delvalue(\u0027acls\u0027, acl)"},{"line_number":182,"context_line":"            acl.delete()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class AclDelCommand(_AclDelHelper):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_bc0e9de2","line":182,"in_reply_to":"1f493fa4_59f20b71","updated":"2020-05-06 10:50:12.000000000","message":"Problem is that I don\u0027t think delete() will actually raise anything meaningful [0].\n\nIt has some asserts and maybe KeyError due to the \"del \u003cdict\u003e\" there ? I think it may raise something meaningful only at commit()... I will investigate more.\n\n[0] https://github.com/openvswitch/ovs/blob/21005175b68b64b6b7f205ee34d2d5cbdb8ead22/python/ovs/db/idl.py#L1210-L1221","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"fe9a49187eadf02b56d773a14ae01c5bf8dc7e05","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for acl in [a for a in entity.acls"},{"line_number":180,"context_line":"                    if idlutils.row_match(a, self.conditions)]:"},{"line_number":181,"context_line":"            entity.delvalue(\u0027acls\u0027, acl)"},{"line_number":182,"context_line":"            acl.delete()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class AclDelCommand(_AclDelHelper):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_b9d06fcb","line":182,"in_reply_to":"1f493fa4_a9b69489","updated":"2020-05-06 10:24:09.000000000","message":"That\u0027s a good point, I will clarify it in the API docs","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"83f1193e0cc2483a0c4c70e4fd04c3bfd3ff8ada","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for acl in [a for a in entity.acls"},{"line_number":180,"context_line":"                    if idlutils.row_match(a, self.conditions)]:"},{"line_number":181,"context_line":"            entity.delvalue(\u0027acls\u0027, acl)"},{"line_number":182,"context_line":"            acl.delete()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class AclDelCommand(_AclDelHelper):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_59f20b71","line":182,"in_reply_to":"1f493fa4_b9d06fcb","updated":"2020-05-06 10:25:39.000000000","message":"perhaps the try block should cover the lines L178 down to L182, shouldn\u0027t it?","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"15e32c488f450dac7ba3d065bc0b59ba9fa3cea8","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        for acl in [a for a in entity.acls"},{"line_number":180,"context_line":"                    if idlutils.row_match(a, self.conditions)]:"},{"line_number":181,"context_line":"            entity.delvalue(\u0027acls\u0027, acl)"},{"line_number":182,"context_line":"            acl.delete()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"class AclDelCommand(_AclDelHelper):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f493fa4_5f80268c","line":182,"in_reply_to":"1f493fa4_bc0e9de2","updated":"2020-05-06 15:59:20.000000000","message":"So is the intent to do something like:\n\n acls \u003d [a for a in entity.acls if idlutils.row_match(a, self.conditions)]\n if not (acls or self.if_exists):\n     raise idlutils.RowNotFound\n for acl in acls:\n      ...\n\nin addition to testing the entity for if_exists? Or just the ACL?","commit_id":"db4c3e56395616b5daf22d663daa49068e215d25"}]}
