)]}'
{"neutron/pecan_wsgi/controllers/resource.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"c33d36a3b1d1dcc69d633a69920a3d5bc06b937e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class ItemController(utils.NeutronPecanController):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def get_member_action_controller_class(cls, method):"},{"line_number":31,"context_line":"        if method \u003d\u003d \u0027PUT\u0027:"},{"line_number":32,"context_line":"            return PUTMemberActionController"},{"line_number":33,"context_line":"        if method \u003d\u003d \u0027GET\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_50b8222a","line":30,"updated":"2016-07-27 06:09:28.000000000","message":"did you secretly just create a MemberActionController factory?","commit_id":"c1237e5acfcb4441cc8cc3b158a0599830835cd3"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"b3b33c900a7d9461048afca33fc2a428c4325b77","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class ItemController(utils.NeutronPecanController):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def get_member_action_controller_class(cls, method):"},{"line_number":31,"context_line":"        if method \u003d\u003d \u0027PUT\u0027:"},{"line_number":32,"context_line":"            return PUTMemberActionController"},{"line_number":33,"context_line":"        if method \u003d\u003d \u0027GET\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_7068c6f5","line":30,"in_reply_to":"dada55a8_50b8222a","updated":"2016-07-27 06:38:51.000000000","message":"i guess you could call this a factory...but i\u0027m calling it a helper method :)","commit_id":"c1237e5acfcb4441cc8cc3b158a0599830835cd3"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"59ce910d09104bcfa24d88740daff32fcfc99aee","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        try:"},{"line_number":222,"context_line":"            return self.plugin_updater(neutron_context, self.item,"},{"line_number":223,"context_line":"                                       request.context[\u0027request_data\u0027])"},{"line_number":224,"context_line":"        except AttributeError:"},{"line_number":225,"context_line":"            LOG.error(_LE(\"Action %(action)s is not defined on resource \""},{"line_number":226,"context_line":"                          \"%(resource)s\"),"},{"line_number":227,"context_line":"                      {\u0027action\u0027: self._update_action,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_b4b26904","line":224,"updated":"2016-08-10 13:17:36.000000000","message":"is this exception handler still necessary?","commit_id":"97b76d8e7994ea502edcebedb5f70d24c1eaa907"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"37cc466922a785e50eec6f7879caa4da91a85fbd","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        try:"},{"line_number":222,"context_line":"            return self.plugin_updater(neutron_context, self.item,"},{"line_number":223,"context_line":"                                       request.context[\u0027request_data\u0027])"},{"line_number":224,"context_line":"        except AttributeError:"},{"line_number":225,"context_line":"            LOG.error(_LE(\"Action %(action)s is not defined on resource \""},{"line_number":226,"context_line":"                          \"%(resource)s\"),"},{"line_number":227,"context_line":"                      {\u0027action\u0027: self._update_action,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_61578326","line":224,"in_reply_to":"9ad45d7e_b4b26904","updated":"2016-08-10 18:30:48.000000000","message":"oh good catch, its not anymore.  Also, the comment salv left is no longer valid either.  So I\u0027ve remvoed that and added more tests to test this particular situation.","commit_id":"97b76d8e7994ea502edcebedb5f70d24c1eaa907"}],"neutron/pecan_wsgi/controllers/router.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"c33d36a3b1d1dcc69d633a69920a3d5bc06b937e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        controller \u003d manager.NeutronManager.get_controller_for_resource("},{"line_number":56,"context_line":"            member_action)"},{"line_number":57,"context_line":"        if not controller:"},{"line_number":58,"context_line":"            controller \u003d resource.PUTMemberActionController("},{"line_number":59,"context_line":"                self.resource, self.item, member_action, self)"},{"line_number":60,"context_line":"        return controller, remainder"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_f09316a1","line":58,"updated":"2016-07-27 06:09:28.000000000","message":"This is directly using PUT since that\u0027s all we can do, right?","commit_id":"c1237e5acfcb4441cc8cc3b158a0599830835cd3"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"b3b33c900a7d9461048afca33fc2a428c4325b77","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        controller \u003d manager.NeutronManager.get_controller_for_resource("},{"line_number":56,"context_line":"            member_action)"},{"line_number":57,"context_line":"        if not controller:"},{"line_number":58,"context_line":"            controller \u003d resource.PUTMemberActionController("},{"line_number":59,"context_line":"                self.resource, self.item, member_action, self)"},{"line_number":60,"context_line":"        return controller, remainder"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_b03cfee1","line":58,"in_reply_to":"dada55a8_f09316a1","updated":"2016-07-27 06:38:51.000000000","message":"yeah, i\u0027d actually like to just have a MemberActionController so this doesn\u0027t look so odd.  I\u0027ll be investigating doing that, but it gets hairy with multiple types of member actions.","commit_id":"c1237e5acfcb4441cc8cc3b158a0599830835cd3"}],"neutron/pecan_wsgi/hooks/utils.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"051eb3fac153ee66c2a39af10e36d30d7bf79f2b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"            isinstance(state.arguments.args[0],"},{"line_number":23,"context_line":"                       controller_utils.NeutronPecanController)):"},{"line_number":24,"context_line":"        controller \u003d state.arguments.args[0]"},{"line_number":25,"context_line":"        if no_member_action and is_member_action(controller):"},{"line_number":26,"context_line":"            return controller.parent_controller"},{"line_number":27,"context_line":"        return controller"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_10cebe2d","line":25,"range":{"start_line":25,"start_character":11,"end_line":25,"end_character":27},"updated":"2016-08-17 17:08:57.000000000","message":"What does the argument \"no_member_action\" mean?\nI am a bit confused because this function returns a parent controller for no member action.\n\nAs far as I checked, no_member_action argument is not used. Do we really need this?","commit_id":"137ce1d295631dbab752f6a0bd37f826cc265152"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"bf2343b8e06250cf7bed083eb60697d5eed01c36","unresolved":false,"context_lines":[{"line_number":22,"context_line":"            isinstance(state.arguments.args[0],"},{"line_number":23,"context_line":"                       controller_utils.NeutronPecanController)):"},{"line_number":24,"context_line":"        controller \u003d state.arguments.args[0]"},{"line_number":25,"context_line":"        if no_member_action and is_member_action(controller):"},{"line_number":26,"context_line":"            return controller.parent_controller"},{"line_number":27,"context_line":"        return controller"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_b7a50548","line":25,"range":{"start_line":25,"start_character":11,"end_line":25,"end_character":27},"in_reply_to":"3ac371cc_10cebe2d","updated":"2016-08-30 04:52:33.000000000","message":"ah yeah, this was just a leftover artifact from logic in a previous PS that i did not remove. good catch.","commit_id":"137ce1d295631dbab752f6a0bd37f826cc265152"}]}
