)]}'
{"openstack/image/v2/_proxy.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"15a42ae55a7147c084f4603c5ffb39cce6d7ff86","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":"        return self._create(image.Image, **attrs)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def import_image(self, value):"},{"line_number":34,"context_line":"        # TODO(everett): docstring"},{"line_number":35,"context_line":"        res \u003d self._get_resource(image.Image, value)"},{"line_number":36,"context_line":"        return res.import_image(self.session)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_4faea82f","line":33,"updated":"2015-07-20 19:32:33.000000000","message":"Is import the right verb?  Seems like upload or something like that might be better.","commit_id":"9b8a6666f04ade8677631678ce388d0d4054d3e8"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"1bad55e034f3c2f42206c8434cf564ce982e43a8","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":"        return self._create(image.Image, **attrs)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def import_image(self, value):"},{"line_number":34,"context_line":"        # TODO(everett): docstring"},{"line_number":35,"context_line":"        res \u003d self._get_resource(image.Image, value)"},{"line_number":36,"context_line":"        return res.import_image(self.session)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_2d3470f9","line":33,"updated":"2015-08-24 20:46:47.000000000","message":"Would it be better to combine import with create at the proxy level?","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"7023ed436acf18f8ecebb4eeeaeaa1d59c5229a1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":"        return self._create(image.Image, **attrs)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def import_image(self, value):"},{"line_number":34,"context_line":"        # TODO(everett): docstring"},{"line_number":35,"context_line":"        res \u003d self._get_resource(image.Image, value)"},{"line_number":36,"context_line":"        return res.import_image(self.session)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_6d2a6892","line":33,"in_reply_to":"fa1b9901_2d3470f9","updated":"2015-08-24 20:47:33.000000000","message":"I think we talked about having an upload_image that combined the two, but we should at least make sure these things work independently before trying to solve two things at once.","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"6cd32288b0c09d0b8b4f650688d983bc1fdbd72b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \"\"\""},{"line_number":31,"context_line":"        return self._create(image.Image, **attrs)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def import_image(self, value):"},{"line_number":34,"context_line":"        # TODO(everett): docstring"},{"line_number":35,"context_line":"        res \u003d self._get_resource(image.Image, value)"},{"line_number":36,"context_line":"        return res.import_image(self.session)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_8c2f9e3d","line":33,"in_reply_to":"fa1b9901_6d2a6892","updated":"2015-08-25 12:25:46.000000000","message":"That\u0027s what we discussed. We wanted to make the \"primitive\" operations available and then combine them later. I could see making this a private function and combining it into create.\n\nWe also need to get the naming right.\n\nIn object_store it\u0027s the create_object() function that does the resource creation and uploads the data. In this proxy the create_image() function just does the resource creation.","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"7023ed436acf18f8ecebb4eeeaeaa1d59c5229a1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        return self._create(image.Image, **attrs)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def import_image(self, value):"},{"line_number":34,"context_line":"        # TODO(everett): docstring"},{"line_number":35,"context_line":"        res \u003d self._get_resource(image.Image, value)"},{"line_number":36,"context_line":"        return res.import_image(self.session)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_4d93e4fa","line":34,"updated":"2015-08-24 20:47:33.000000000","message":"docstring?","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"}],"openstack/image/v2/image.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"15a42ae55a7147c084f4603c5ffb39cce6d7ff86","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    patch_update \u003d True"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    # The image data (a file-like object)"},{"line_number":32,"context_line":"    data \u003d None"},{"line_number":33,"context_line":"    # URI for the image"},{"line_number":34,"context_line":"    location \u003d resource.header(\"location\")"},{"line_number":35,"context_line":"    # Properties"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_cf6878f8","line":32,"updated":"2015-07-20 19:32:33.000000000","message":"I guess instead of this, the method could take data as a param.","commit_id":"9b8a6666f04ade8677631678ce388d0d4054d3e8"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"7023ed436acf18f8ecebb4eeeaeaa1d59c5229a1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    patch_update \u003d True"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    # The image data (a file-like object)"},{"line_number":32,"context_line":"    data \u003d None"},{"line_number":33,"context_line":"    # URI for the image"},{"line_number":34,"context_line":"    location \u003d resource.header(\"location\")"},{"line_number":35,"context_line":"    # Properties"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_ad72c0e1","line":32,"updated":"2015-08-24 20:47:33.000000000","message":"The way I think this is working, it should be the contents of a file, not a file-like object (since I don\u0027t see anything using this calling a read method on it)...correct?","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"},{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"6cd32288b0c09d0b8b4f650688d983bc1fdbd72b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    patch_update \u003d True"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    # The image data (a file-like object)"},{"line_number":32,"context_line":"    data \u003d None"},{"line_number":33,"context_line":"    # URI for the image"},{"line_number":34,"context_line":"    location \u003d resource.header(\"location\")"},{"line_number":35,"context_line":"    # Properties"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_f6894bcb","line":32,"in_reply_to":"fa1b9901_ad72c0e1","updated":"2015-08-25 12:25:46.000000000","message":"Ultimately this gets passed to requests.sessions.Session.request() which takes the data param and says.\n\n    Dictionary or bytes to send in the body of the Request.\n\nBut this isn\u0027t totally accurate. It actually accepts file-like objects too. My pull request to improve the requests docstring here was merged. https://github.com/kennethreitz/requests/pull/2742\n\nSo this needs to be changed to\n\n    # The image data (bytes or file-like object)","commit_id":"e80d65c20478c62eea4be715155c59ce0808d0c6"}],"openstack/tests/functional/base.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"15a42ae55a7147c084f4603c5ffb39cce6d7ff86","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        if versions is not None:"},{"line_number":67,"context_line":"            for service, version in versions.items():"},{"line_number":68,"context_line":"                cls.prof.set_version(service, version)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        if test_cloud.debug:"},{"line_number":71,"context_line":"            utils.enable_logging(True, stream\u003dsys.stdout)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_ef81b490","line":68,"updated":"2015-07-20 19:32:33.000000000","message":"Hopefully, this is taken care of in https://review.openstack.org/#/c/191535/","commit_id":"9b8a6666f04ade8677631678ce388d0d4054d3e8"}],"openstack/tests/functional/compute/v2/test_image.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"7a06970480bc5a12fe37acb512f87b68abdba9e1","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        image \u003d next(images)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        from openstack.tests.functional.image.v2.test_image \\"},{"line_number":31,"context_line":"            import TestImage as TI"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        if image.name \u003d\u003d TI.TEST_IMAGE_NAME:"},{"line_number":34,"context_line":"            image \u003d next(images)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_b26398b0","line":31,"updated":"2015-08-26 14:37:10.000000000","message":"If TEST_IMAGE_NAME becomes a module-level name instead of in the class, can you then import that module and access the name in here without the import like this?","commit_id":"972f4a55d8c2d14c9efb63af9f6f2dbc142959f3"}],"openstack/tests/functional/image/v2/test_image.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"7a06970480bc5a12fe37acb512f87b68abdba9e1","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class TestImage(base.BaseFunctionalTest):"},{"line_number":18,"context_line":"    TEST_IMAGE_NAME \u003d \u0027Test Image\u0027"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    class ImageOpts(base.BaseFunctionalTest.Opts):"},{"line_number":21,"context_line":"        def __init__(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_12e04428","line":18,"updated":"2015-08-26 14:37:10.000000000","message":"I would just make this a module-level name.","commit_id":"972f4a55d8c2d14c9efb63af9f6f2dbc142959f3"}]}
