)]}'
{"nova/pci/devspec.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a5376ad6116b3bdb48fdb9bb43ad4e02eece9703","unresolved":false,"context_lines":[{"line_number":31,"context_line":"REGEX_ANY \u003d \u0027.*\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"if False:"},{"line_number":34,"context_line":"    # For type annotation"},{"line_number":35,"context_line":"    from nova import objects  # noqa"},{"line_number":36,"context_line":"    import typing  # noqa"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_f1df7a37","line":36,"range":{"start_line":34,"start_character":0,"end_line":36,"end_character":25},"updated":"2018-03-28 13:55:48.000000000","message":"OK, typing import is here as that is only needed for the static test. But I guess the nova object import is guarded here as mypy does not like our oslo versioned objects.","commit_id":"b128b78d684a130f46971cb0468b60dc5d64bf66"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a5376ad6116b3bdb48fdb9bb43ad4e02eece9703","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    This class checks the address fields of the pci.passthrough_whitelist"},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, pci_addr):"},{"line_number":47,"context_line":"        # type: (str) -\u003e None"},{"line_number":48,"context_line":"        self.domain \u003d \u0027\u0027"},{"line_number":49,"context_line":"        self.bus \u003d \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_a62306bd","line":46,"updated":"2018-03-28 13:55:48.000000000","message":"This is a new function. But the derived classes (i.e. PciAddressGlobSpec) does not call super in their __init__ so this is new base __init__ is not used.","commit_id":"b128b78d684a130f46971cb0468b60dc5d64bf66"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a5376ad6116b3bdb48fdb9bb43ad4e02eece9703","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        if not self.dev_name:"},{"line_number":294,"context_line":"            address \u003d address or \"*:*:*.*\""},{"line_number":295,"context_line":"            self.address \u003d WhitelistPciAddress(address, False)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def match(self, dev_dict):"},{"line_number":298,"context_line":"        # type: (typing.Dict[str, str]) -\u003e bool"}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_31d9727e","line":295,"updated":"2018-03-28 13:55:48.000000000","message":"Is it mypy that forces to use this certain python style to be able to understand the flow? Or have you just done some refactoring while annotating the code?","commit_id":"b128b78d684a130f46971cb0468b60dc5d64bf66"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a5376ad6116b3bdb48fdb9bb43ad4e02eece9703","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            # Note(moshele): In this case we always passing a string"},{"line_number":305,"context_line":"            # of the PF pci address"},{"line_number":306,"context_line":"            address_obj \u003d WhitelistPciAddress(address_str, pf)"},{"line_number":307,"context_line":"        else:  # use self.address"},{"line_number":308,"context_line":"            address_obj \u003d self.address"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        return all(["}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_d16d96cc","line":307,"range":{"start_line":307,"start_character":15,"end_line":307,"end_character":33},"updated":"2018-03-28 13:55:48.000000000","message":"what does this annotation means and why this is needed here?","commit_id":"b128b78d684a130f46971cb0468b60dc5d64bf66"}],"nova/pci/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a5376ad6116b3bdb48fdb9bb43ad4e02eece9703","unresolved":false,"context_lines":[{"line_number":343,"context_line":"            self._free_instance(instance)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def update_pci_for_instance(self, context, instance, sign):"},{"line_number":346,"context_line":"        # type: (ctx.RequestContext, objects.Instance, int) -\u003e None"},{"line_number":347,"context_line":"        \"\"\"Update PCI usage information if devices are de/allocated.\"\"\""},{"line_number":348,"context_line":"        if not self.pci_devs:"},{"line_number":349,"context_line":"            return"},{"line_number":350,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df7087c5_207359b3","line":347,"range":{"start_line":346,"start_character":0,"end_line":347,"end_character":71},"updated":"2018-03-28 13:55:48.000000000","message":"I had to check but comment with \u0027#\u0027 added before the doc of the function does not ruin the f.__doc__ content. Clever.","commit_id":"b128b78d684a130f46971cb0468b60dc5d64bf66"}]}
