)]}'
{"octavia/network/drivers/neutron/base.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ca58cb2aad987d95f5321d7237163753eb0cdca9","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.exception(message)"},{"line_number":166,"context_line":"            raise base.NetworkException(message)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _get_resources_by_filters(self, resource_type, unique_item\u003dFalse,"},{"line_number":169,"context_line":"                                  **filters):"},{"line_number":170,"context_line":"        \"\"\"Retrieves item(s) from filters. By default, a list is returned."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_9acd9db8","line":168,"updated":"2017-12-11 22:40:14.000000000","message":"So, this is changing the default behavior... I know you already accounted for that in the methods below that call this, but ... Shouldn\u0027t we just avoid any possible issues and set unique_item\u003dTrue as the default? You CAN then use this for non-uniques if you want, but it wouldn\u0027t break anything else using it now.","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"cb3da1f280d55b7b9f1b33d251bf9882a12ee4e8","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.exception(message)"},{"line_number":166,"context_line":"            raise base.NetworkException(message)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _get_resources_by_filters(self, resource_type, unique_item\u003dFalse,"},{"line_number":169,"context_line":"                                  **filters):"},{"line_number":170,"context_line":"        \"\"\"Retrieves item(s) from filters. By default, a list is returned."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_fa74e9ff","line":168,"in_reply_to":"df87a7cf_9acd9db8","updated":"2017-12-11 22:44:52.000000000","message":"OK, I see that the method name has changed now... So, I guess this is a little better, as it breaks much more cleanly than I anticipated, and it IS a private method anyway. So, this is fine I suppose.","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ca58cb2aad987d95f5321d7237163753eb0cdca9","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _get_resources_by_filters(self, resource_type, unique_item\u003dFalse,"},{"line_number":169,"context_line":"                                  **filters):"},{"line_number":170,"context_line":"        \"\"\"Retrieves item(s) from filters. By default, a list is returned."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        If unique_item set to True, only the first resource is returned."},{"line_number":173,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_7a3f7986","line":170,"updated":"2017-12-11 22:40:14.000000000","message":"As per above, the old default is that a single Model is returned... I would prefer not to change defaults.","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ca58cb2aad987d95f5321d7237163753eb0cdca9","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                \u0027convert_%s_dict_to_model\u0027 % resource_type)"},{"line_number":180,"context_line":"            if unique_item:"},{"line_number":181,"context_line":"                return conversion_function(resource[\u0027%ss\u0027 % resource_type][0])"},{"line_number":182,"context_line":"            elif not resource[\u0027%ss\u0027 % resource_type]:"},{"line_number":183,"context_line":"                # no items found"},{"line_number":184,"context_line":"                raise neutron_client_exceptions.NotFound()"},{"line_number":185,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_fa194921","line":182,"updated":"2017-12-11 22:40:14.000000000","message":"This is the first time I\u0027ve felt slightly bad about \"amphorae\" as a pluralization, because if anyone was trying to do this function for octavia, that would break them. T_T\nIt\u0027s fine here for the objects we use. :)","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"}],"octavia/tests/unit/network/drivers/neutron/test_base.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ca58cb2aad987d95f5321d7237163753eb0cdca9","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        list_port \u003d self.driver.neutron_client.list_ports"},{"line_number":276,"context_line":"        list_port.return_value \u003d {"},{"line_number":277,"context_line":"            \u0027ports\u0027: ["},{"line_number":278,"context_line":"                {\u0027port\u0027: {"},{"line_number":279,"context_line":"                    \u0027id\u0027: t_constants.MOCK_PORT_ID,"},{"line_number":280,"context_line":"                    \u0027name\u0027: t_constants.MOCK_PORT_NAME,"},{"line_number":281,"context_line":"                    \u0027mac_address\u0027: t_constants.MOCK_MAC_ADDR,"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_7a97793b","line":278,"updated":"2017-12-11 22:40:14.000000000","message":"Couldn\u0027t you just make a MOCK_NEUTRON_PORT2 and then use those two objects here? They should include everything that matters, and if not, maybe we should add those things to them.","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"ca58cb2aad987d95f5321d7237163753eb0cdca9","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    def test_get_multiple_ports_by_net_id_device_id(self):"},{"line_number":328,"context_line":"        \"\"\"Test _get_resources_by_filters, when result is not unique\"\"\""},{"line_number":329,"context_line":"        list_port \u003d self.driver.neutron_client.list_ports"},{"line_number":330,"context_line":"        list_port.return_value \u003d {"},{"line_number":331,"context_line":"            \u0027ports\u0027: ["},{"line_number":332,"context_line":"                {\u0027port\u0027: {"},{"line_number":333,"context_line":"                    \u0027id\u0027: t_constants.MOCK_PORT_ID,"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_1aa66dac","line":330,"updated":"2017-12-11 22:40:14.000000000","message":"Same as above. These look exactly the same.","commit_id":"3520d3d7c497b9c2b53d258509ca39fa6114605a"}]}
