)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ec17ac5a8e8d775c7334f0e0e28b3013ff4142b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e259f24a_556111ef","updated":"2022-06-17 06:41:31.000000000","message":"The failures don\u0027t look related but it\u0027s suspicious that the patch on top of this one failed on pretty much the same things.","commit_id":"511efb2ee5700f06d3afd2dd979b82f3b1502e70"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6417030c37d758b50c4c3fbe4ab176d9ad99c9f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bdd0b32d_219f755c","updated":"2022-06-30 21:44:48.000000000","message":"recheck bug 1979047","commit_id":"511efb2ee5700f06d3afd2dd979b82f3b1502e70"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"501b73e8b45ab9859ec413d4c5fd11a30695ffc8","unresolved":true,"context_lines":[{"line_number":100,"context_line":"from nova.pci import utils as pci_utils"},{"line_number":101,"context_line":"import nova.privsep.libvirt"},{"line_number":102,"context_line":"import nova.privsep.path"},{"line_number":103,"context_line":"import nova.privsep.qemu"},{"line_number":104,"context_line":"import nova.privsep.utils"},{"line_number":105,"context_line":"from nova.storage import rbd_utils"},{"line_number":106,"context_line":"from nova import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"3cd85448_619be4f8","line":103,"updated":"2022-06-17 03:31:39.000000000","message":"Need to remove this.","commit_id":"11a50a0033cdec39a6918f395c5897252644b899"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2f9ab18370c79035da14eccfffc7a336b1e4d70c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"from nova.pci import utils as pci_utils"},{"line_number":101,"context_line":"import nova.privsep.libvirt"},{"line_number":102,"context_line":"import nova.privsep.path"},{"line_number":103,"context_line":"import nova.privsep.qemu"},{"line_number":104,"context_line":"import nova.privsep.utils"},{"line_number":105,"context_line":"from nova.storage import rbd_utils"},{"line_number":106,"context_line":"from nova import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"4433ff6f_ff909577","line":103,"in_reply_to":"3cd85448_619be4f8","updated":"2022-06-17 04:36:42.000000000","message":"Done","commit_id":"11a50a0033cdec39a6918f395c5897252644b899"}],"nova/virt/libvirt/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ecae8d53f25e8c579805a402c665c37a8f679963","unresolved":true,"context_lines":[{"line_number":113,"context_line":"    path: str,"},{"line_number":114,"context_line":"    disk_format: str,"},{"line_number":115,"context_line":"    disk_size: ty.Optional[ty.Union[str, int]],"},{"line_number":116,"context_line":"    backing_file: ty.Optional[str] \u003d None,"},{"line_number":117,"context_line":") -\u003e None:"},{"line_number":118,"context_line":"    \"\"\"Disk image creation with qemu-img"},{"line_number":119,"context_line":"    :param path: Desired location of the disk image"}],"source_content_type":"text/x-python","patch_set":4,"id":"21130998_b3105fc3","line":116,"updated":"2022-08-09 16:08:59.000000000","message":"nit: this would be a great place for kwarg-only options\n\n  def create_image(\n      path: str,\n      disk_format: str,\n      disk_size: ty.Optional[ty.Union[str, int]],\n      *,\n      backing_file: ty.Optional[str] \u003d None,\n  ) -\u003e None:\n  \nSince I don\u0027t think anyone would/should ever pass this positionally","commit_id":"471450b73ef9f272154ccb3c1b0d6d5abadcf274"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8ddcdf8eb7f007e6c8ec69492807664a662e53d7","unresolved":true,"context_lines":[{"line_number":113,"context_line":"    path: str,"},{"line_number":114,"context_line":"    disk_format: str,"},{"line_number":115,"context_line":"    disk_size: ty.Optional[ty.Union[str, int]],"},{"line_number":116,"context_line":"    backing_file: ty.Optional[str] \u003d None,"},{"line_number":117,"context_line":") -\u003e None:"},{"line_number":118,"context_line":"    \"\"\"Disk image creation with qemu-img"},{"line_number":119,"context_line":"    :param path: Desired location of the disk image"}],"source_content_type":"text/x-python","patch_set":4,"id":"2635aecc_c280153c","line":116,"in_reply_to":"21130998_b3105fc3","updated":"2022-08-10 09:27:59.000000000","message":"we could.\nwe dont normally explictly prevent that but its always a code smell to me to ever call a kwarg postionally so im not against this but its just not or noraly pattern.","commit_id":"471450b73ef9f272154ccb3c1b0d6d5abadcf274"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9909e5cf3a43d532b8608fa19ec7f95d29faa47f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    path: str,"},{"line_number":114,"context_line":"    disk_format: str,"},{"line_number":115,"context_line":"    disk_size: ty.Optional[ty.Union[str, int]],"},{"line_number":116,"context_line":"    backing_file: ty.Optional[str] \u003d None,"},{"line_number":117,"context_line":") -\u003e None:"},{"line_number":118,"context_line":"    \"\"\"Disk image creation with qemu-img"},{"line_number":119,"context_line":"    :param path: Desired location of the disk image"}],"source_content_type":"text/x-python","patch_set":4,"id":"8a2d7572_c7898204","line":116,"in_reply_to":"2635aecc_c280153c","updated":"2022-08-16 09:01:36.000000000","message":"I did not know this was a thing. Adding it to the followup patch.","commit_id":"471450b73ef9f272154ccb3c1b0d6d5abadcf274"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7ba24ed4adc4aa1e06dcf8c02cffb1930ae8e619","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    path: str,"},{"line_number":114,"context_line":"    disk_format: str,"},{"line_number":115,"context_line":"    disk_size: ty.Optional[ty.Union[str, int]],"},{"line_number":116,"context_line":"    backing_file: ty.Optional[str] \u003d None,"},{"line_number":117,"context_line":") -\u003e None:"},{"line_number":118,"context_line":"    \"\"\"Disk image creation with qemu-img"},{"line_number":119,"context_line":"    :param path: Desired location of the disk image"}],"source_content_type":"text/x-python","patch_set":4,"id":"70b33964_42fb5219","line":116,"in_reply_to":"8a2d7572_c7898204","updated":"2022-08-16 10:30:44.000000000","message":"it was added by https://peps.python.org/pep-3102/\nin python 3.0 but i dont think it was backported to 2.7\n\nwe really have not used it much but its a tool we can use when we want to proect our selves.\n\npersonally if we do that i woudl prefer the final example in the spec section\n\ndef compare(a, b, *ignore, key\u003dNone):\n    if ignore:  # If ignore is not empty\n        raise TypeError\n\nor if we dont want a runtime error\n\ndef compare(a, b, *ignore, key\u003dNone):\n    assert not ignore\n    \nto catch this for tests only.\n\n\nif we just use * without a name it cant be referenced for these types of check but if we are not goign to do a runtime check or assert i agree with stephen\u0027s example of just useing * without a name.","commit_id":"471450b73ef9f272154ccb3c1b0d6d5abadcf274"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"da4f1eaee1f9882d67e17c2748a5366564dc46b1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    disk_size: ty.Optional[ty.Union[str, int]],"},{"line_number":116,"context_line":"    backing_file: ty.Optional[str] \u003d None,"},{"line_number":117,"context_line":") -\u003e None:"},{"line_number":118,"context_line":"    \"\"\"Disk image creation with qemu-img"},{"line_number":119,"context_line":"    :param path: Desired location of the disk image"},{"line_number":120,"context_line":"    :param disk_format: Disk image format (as known by qemu-img)"},{"line_number":121,"context_line":"    :param disk_size: Desired size of disk image. May be given as an int or"}],"source_content_type":"text/x-python","patch_set":4,"id":"d8d27e7f_3d97e457","line":118,"updated":"2022-08-09 16:05:00.000000000","message":"nit: need a space under this for it to render properly in pydoc","commit_id":"471450b73ef9f272154ccb3c1b0d6d5abadcf274"}]}
