)]}'
{"neutron/pecan_wsgi/controllers/resource.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"70f13139939fb0325b1deac916305e9172be6c3d","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def get(self, *args, **kwargs):"},{"line_number":101,"context_line":"        # NOTE(blogan): query_params is set in the QueryParametersHook"},{"line_number":102,"context_line":"        query_params \u003d request.context.get(\u0027query_params\u0027)"},{"line_number":103,"context_line":"        lister \u003d getattr(self.plugin, \u0027get_%s\u0027 % self.collection)"},{"line_number":104,"context_line":"        neutron_context \u003d request.context[\u0027neutron_context\u0027]"},{"line_number":105,"context_line":"        return {self.collection: lister(neutron_context, **query_params)}"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_bdb7c4d6","line":102,"updated":"2016-06-24 07:47:02.000000000","message":"you use .get here which implies it might not be set. if that\u0027s the case it will return None and L105 will fail on the double-splat-unpack","commit_id":"68ada201e5af434b8fbc001a3f1f2106b17944bf"}],"neutron/pecan_wsgi/controllers/utils.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"70f13139939fb0325b1deac916305e9172be6c3d","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            req_fields_set \u003d set(request_fields)"},{"line_number":127,"context_line":"            added_fields \u003d self._mandatory_fields - req_fields_set"},{"line_number":128,"context_line":"            combined_fields \u003d req_fields_set | self._mandatory_fields"},{"line_number":129,"context_line":"        if combined_fields is not None:"},{"line_number":130,"context_line":"            combined_fields \u003d list(combined_fields)"},{"line_number":131,"context_line":"        if added_fields is not None:"},{"line_number":132,"context_line":"            added_fields \u003d list(added_fields)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_9dbc88bc","line":129,"updated":"2016-06-24 07:47:02.000000000","message":"how could combined_fields or added_fields be None? with L123/L124 these conditionals aren\u0027t needed","commit_id":"68ada201e5af434b8fbc001a3f1f2106b17944bf"},{"author":{"_account_id":19611,"name":"Brian Stajkowski","email":"brian.stajkowski@rackspace.com","username":"ski"},"change_message_id":"b4104384fa8aef3c6f8df69a3332e84d51875224","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                                          data.get(\u0027required_by_policy\u0027)])"},{"line_number":106,"context_line":"        else:"},{"line_number":107,"context_line":"            self._mandatory_fields \u003d set()"},{"line_number":108,"context_line":"        self.allow_pagination \u003d allow_pagination"},{"line_number":109,"context_line":"        if self.allow_pagination is None:"},{"line_number":110,"context_line":"            self.allow_pagination \u003d cfg.CONF.allow_pagination"},{"line_number":111,"context_line":"        self.allow_sorting \u003d allow_sorting"}],"source_content_type":"text/x-python","patch_set":14,"id":"3aaa91ec_eee4db0d","line":108,"updated":"2016-06-30 14:36:12.000000000","message":"nit: would it be better to move this and other below to above line 100?","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"},{"author":{"_account_id":19611,"name":"Brian Stajkowski","email":"brian.stajkowski@rackspace.com","username":"ski"},"change_message_id":"b4104384fa8aef3c6f8df69a3332e84d51875224","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.allow_pagination \u003d allow_pagination"},{"line_number":109,"context_line":"        if self.allow_pagination is None:"},{"line_number":110,"context_line":"            self.allow_pagination \u003d cfg.CONF.allow_pagination"},{"line_number":111,"context_line":"        self.allow_sorting \u003d allow_sorting"},{"line_number":112,"context_line":"        if self.allow_sorting is None:"},{"line_number":113,"context_line":"            self.allow_sorting \u003d cfg.CONF.allow_sorting"},{"line_number":114,"context_line":"        self.native_pagination \u003d api_common.is_native_pagination_supported("}],"source_content_type":"text/x-python","patch_set":14,"id":"3aaa91ec_ceb2bf05","line":111,"updated":"2016-06-30 14:36:12.000000000","message":"nit: would it be better to move this and other below to above line 100?","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"},{"author":{"_account_id":19611,"name":"Brian Stajkowski","email":"brian.stajkowski@rackspace.com","username":"ski"},"change_message_id":"b4104384fa8aef3c6f8df69a3332e84d51875224","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.allow_sorting \u003d allow_sorting"},{"line_number":112,"context_line":"        if self.allow_sorting is None:"},{"line_number":113,"context_line":"            self.allow_sorting \u003d cfg.CONF.allow_sorting"},{"line_number":114,"context_line":"        self.native_pagination \u003d api_common.is_native_pagination_supported("},{"line_number":115,"context_line":"            self.plugin)"},{"line_number":116,"context_line":"        self.native_sorting \u003d api_common.is_native_sorting_supported("},{"line_number":117,"context_line":"            self.plugin)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3aaa91ec_eecb3b70","line":114,"updated":"2016-06-30 14:36:12.000000000","message":"nit: would it be better to move this and other below to above line 100?","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"},{"author":{"_account_id":19611,"name":"Brian Stajkowski","email":"brian.stajkowski@rackspace.com","username":"ski"},"change_message_id":"b4104384fa8aef3c6f8df69a3332e84d51875224","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            self.allow_sorting \u003d cfg.CONF.allow_sorting"},{"line_number":114,"context_line":"        self.native_pagination \u003d api_common.is_native_pagination_supported("},{"line_number":115,"context_line":"            self.plugin)"},{"line_number":116,"context_line":"        self.native_sorting \u003d api_common.is_native_sorting_supported("},{"line_number":117,"context_line":"            self.plugin)"},{"line_number":118,"context_line":"        self.primary_key \u003d self._get_primary_key()"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3aaa91ec_4e9ecf63","line":116,"updated":"2016-06-30 14:36:12.000000000","message":"nit: would it be better to move this and other below to above line 100?","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"},{"author":{"_account_id":19611,"name":"Brian Stajkowski","email":"brian.stajkowski@rackspace.com","username":"ski"},"change_message_id":"b4104384fa8aef3c6f8df69a3332e84d51875224","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            self.plugin)"},{"line_number":116,"context_line":"        self.native_sorting \u003d api_common.is_native_sorting_supported("},{"line_number":117,"context_line":"            self.plugin)"},{"line_number":118,"context_line":"        self.primary_key \u003d self._get_primary_key()"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def build_field_list(self, request_fields):"},{"line_number":121,"context_line":"        added_fields \u003d []"}],"source_content_type":"text/x-python","patch_set":14,"id":"3aaa91ec_8e8a7719","line":118,"updated":"2016-06-30 14:36:12.000000000","message":"nit: would it be better to move this and other below to above line 100?","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"7ef27f37155140f4164e50226d8675217b948472","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            self.plugin)"},{"line_number":116,"context_line":"        self.native_sorting \u003d api_common.is_native_sorting_supported("},{"line_number":117,"context_line":"            self.plugin)"},{"line_number":118,"context_line":"        self.primary_key \u003d self._get_primary_key()"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def build_field_list(self, request_fields):"},{"line_number":121,"context_line":"        added_fields \u003d []"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_7c904e4f","line":118,"in_reply_to":"3aaa91ec_8e8a7719","updated":"2016-07-14 05:36:43.000000000","message":"yeah ill admit there\u0027s chaos in the ordering of these.  I\u0027ll fix it if i have to respin.","commit_id":"09a6a46e77875ce6879dd8bb4b0365eecc45f3b9"}],"neutron/pecan_wsgi/hooks/query_parameters.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"70f13139939fb0325b1deac916305e9172be6c3d","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # NOTE(blogan): needs to be run after the priority hook.  after methods"},{"line_number":86,"context_line":"    # are run in reverse priority order."},{"line_number":87,"context_line":"    priority \u003d policy_enforcement.PolicyHook.priority - 1"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def before(self, state):"},{"line_number":90,"context_line":"        state.request.context[\u0027query_params\u0027] \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_5da86077","line":87,"updated":"2016-06-24 07:47:02.000000000","message":"nice way to express dependencies!","commit_id":"68ada201e5af434b8fbc001a3f1f2106b17944bf"}],"neutron/tests/functional/pecan_wsgi/test_controllers.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e3f5b4b03868d10a973e3712f72e669b10363a2a","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def setUp(self):"},{"line_number":245,"context_line":"        super(TestResourceController, self).setUp()"},{"line_number":246,"context_line":"        self._gen_port()"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    def _gen_port(self):"},{"line_number":249,"context_line":"        network_id \u003d self.plugin.create_network(context.get_admin_context(), {"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_6c9bc966","line":246,"updated":"2016-06-24 22:17:06.000000000","message":"self.port \u003d self._gen_port()","commit_id":"b463d38974e017c4999cfb7eb1aa5414a931401d"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e3f5b4b03868d10a973e3712f72e669b10363a2a","unresolved":false,"context_lines":[{"line_number":250,"context_line":"            \u0027network\u0027:"},{"line_number":251,"context_line":"            {\u0027name\u0027: \u0027pecannet\u0027, \u0027tenant_id\u0027: \u0027tenid\u0027, \u0027shared\u0027: False,"},{"line_number":252,"context_line":"             \u0027admin_state_up\u0027: True, \u0027status\u0027: \u0027ACTIVE\u0027}})[\u0027id\u0027]"},{"line_number":253,"context_line":"        self.plugin.create_port(context.get_admin_context(), {"},{"line_number":254,"context_line":"            \u0027port\u0027:"},{"line_number":255,"context_line":"            {\u0027tenant_id\u0027: \u0027tenid\u0027, \u0027network_id\u0027: network_id,"},{"line_number":256,"context_line":"             \u0027fixed_ips\u0027: n_const.ATTR_NOT_SPECIFIED,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_8c98b56b","line":253,"updated":"2016-06-24 22:17:06.000000000","message":"return port please","commit_id":"b463d38974e017c4999cfb7eb1aa5414a931401d"}]}
