)]}'
{"openstack/compute/v2/server.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"148e0c9033e7c474741ad312f3af85ddf803a742","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    updated \u003d resource.prop(\u0027updated\u0027)"},{"line_number":47,"context_line":"    user_id \u003d resource.prop(\u0027user_id\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def ips(self, session):"},{"line_number":50,"context_line":"        \"\"\"Get server IPs.\"\"\""},{"line_number":51,"context_line":"        path_args \u003d {\u0027server_id\u0027: self.id}"},{"line_number":52,"context_line":"        return server_ip.ServerIP.list(session, path_args\u003dpath_args)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_b1cb6071","line":49,"updated":"2014-08-14 20:49:20.000000000","message":"Not sure I like this, but it is convenient.","commit_id":"b9cc37627113cc766e9ee85c603dcb67499431fe"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"6616ce053e3200c7f64e169a9b0bbb2ad358fffc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    updated \u003d resource.prop(\u0027updated\u0027)"},{"line_number":47,"context_line":"    user_id \u003d resource.prop(\u0027user_id\u0027)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def ips(self, session):"},{"line_number":50,"context_line":"        \"\"\"Get server IPs.\"\"\""},{"line_number":51,"context_line":"        path_args \u003d {\u0027server_id\u0027: self.id}"},{"line_number":52,"context_line":"        return server_ip.ServerIP.list(session, path_args\u003dpath_args)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_afc77b44","line":49,"in_reply_to":"7ac7a964_b1cb6071","updated":"2014-08-18 20:56:46.000000000","message":"It feels like this may be something that should be handled in a higher level. I\u0027m also fine leaving it and moving it up the chain when that chain shows up.","commit_id":"b9cc37627113cc766e9ee85c603dcb67499431fe"}],"openstack/compute/v2/server_ip.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"7906023fea62da1dc42a46318f12f6144400a47c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        except AttributeError:"},{"line_number":39,"context_line":"            val \u003d None"},{"line_number":40,"context_line":"        return val"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    def list(cls, session, path_args\u003dNone, **params):"},{"line_number":44,"context_line":"        url \u003d cls.base_path % path_args"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_51e84cb4","line":41,"updated":"2014-08-14 22:56:39.000000000","message":"Run this with:\n\n    python -m examples.list examples.list openstack.compute.v2.server_ip.ServerIP --data \u0027{\"server_id\": \"067XXXX\"}\u0027","commit_id":"b9cc37627113cc766e9ee85c603dcb67499431fe"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"7906023fea62da1dc42a46318f12f6144400a47c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        return val"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    def list(cls, session, path_args\u003dNone, **params):"},{"line_number":44,"context_line":"        url \u003d cls.base_path % path_args"},{"line_number":45,"context_line":"        resp \u003d session.get(url, service\u003dcls.service, params\u003dparams)"},{"line_number":46,"context_line":"        ray \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_6f20fc49","line":43,"updated":"2014-08-14 22:56:39.000000000","message":"The nice part about using path_args is you don\u0027t have to worry about random arguments getting accidentally put in params.","commit_id":"b9cc37627113cc766e9ee85c603dcb67499431fe"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"6616ce053e3200c7f64e169a9b0bbb2ad358fffc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        return val"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    def list(cls, session, path_args\u003dNone, **params):"},{"line_number":44,"context_line":"        url \u003d cls.base_path % path_args"},{"line_number":45,"context_line":"        resp \u003d session.get(url, service\u003dcls.service, params\u003dparams)"},{"line_number":46,"context_line":"        ray \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_ef1a536d","line":43,"in_reply_to":"7ac7a964_6f20fc49","updated":"2014-08-18 20:56:46.000000000","message":"This works nicely with the example script, but I\u0027m still thinking about how this is going to work out from a higher level interface. Given what we have right now this may be the best way to go about it.","commit_id":"b9cc37627113cc766e9ee85c603dcb67499431fe"}]}
