)]}'
{"openstack/cloud/openstackcloud.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"046c2e426a0c52201ea3aa631673b40288af7e29","unresolved":false,"context_lines":[{"line_number":7190,"context_line":"        container \u003d self.get_container(name, skip_cache\u003dTrue)"},{"line_number":7191,"context_line":"        if not container:"},{"line_number":7192,"context_line":"            raise exc.OpenStackCloudException(\"Container not found: %s\" % name)"},{"line_number":7193,"context_line":"        acl \u003d container.read_ACL"},{"line_number":7194,"context_line":"        for key, value in OBJECT_CONTAINER_ACLS.items():"},{"line_number":7195,"context_line":"            # Convert to string for the comparison because swiftclient"},{"line_number":7196,"context_line":"            # returns byte values as bytes sometimes and apparently \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_6209b72f","line":7193,"range":{"start_line":7193,"start_character":8,"end_line":7193,"end_character":32},"updated":"2019-03-08 14:31:00.000000000","message":"This seems to be breaking the ansible module tests for some reason.","commit_id":"17f5ff475afe5dc9423342c10feb6532cc39cac9"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":7535,"context_line":"            for ret in self.object_store.stream_object("},{"line_number":7536,"context_line":"                    obj, container\u003dcontainer,"},{"line_number":7537,"context_line":"                    chunk_size\u003dresp_chunk_size):"},{"line_number":7538,"context_line":"                yield ret"},{"line_number":7539,"context_line":"        except exc.OpenStackCloudHTTPError as e:"},{"line_number":7540,"context_line":"            if e.response.status_code \u003d\u003d 404:"},{"line_number":7541,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_48035eb9","line":7538,"updated":"2019-03-11 10:21:59.000000000","message":"nit: it looks like you can just return the result of stream_object here","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"}],"openstack/object_store/v1/_proxy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":325,"context_line":"                \"swift uploading data to %(endpoint)s\","},{"line_number":326,"context_line":"                {\u0027endpoint\u0027: endpoint})"},{"line_number":327,"context_line":"            # TODO(gtema): custom headers need to be somehow injected"},{"line_number":328,"context_line":"            return self._create("},{"line_number":329,"context_line":"                _obj.Object, container\u003dcontainer_name,"},{"line_number":330,"context_line":"                name\u003dname, data\u003ddata, **headers)"},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_68fe5aaf","line":328,"updated":"2019-03-11 10:21:59.000000000","message":"I don\u0027t think Swift supports microversions, but should we anyway use microversion_for just for consistency? I see you use it in another place.","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        if self.is_object_stale(container_name, name, filename, md5, sha256):"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"            self._connection.log.debug("},{"line_number":342,"context_line":"                \"swift uploading %(filename)s to %(endpoint)s\","},{"line_number":343,"context_line":"                {\u0027filename\u0027: filename, \u0027endpoint\u0027: endpoint})"},{"line_number":344,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_082f963f","line":341,"updated":"2019-03-11 10:21:59.000000000","message":"nit: s/_connection.//","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            Pre-calculated sha256 of the file contents. Defaults to None which"},{"line_number":457,"context_line":"            means calculate locally."},{"line_number":458,"context_line":"        \"\"\""},{"line_number":459,"context_line":"        metadata \u003d self._connection.get_object_metadata(container, name)"},{"line_number":460,"context_line":"        if not metadata:"},{"line_number":461,"context_line":"            self._connection.log.debug("},{"line_number":462,"context_line":"                \"swift stale check, no object: {container}/{name}\".format("}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_283292a8","line":459,"updated":"2019-03-11 10:21:59.000000000","message":"nit: s/_connection.// ?","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":477,"context_line":"            md5_key\u003dmd5_key, sha256_key\u003dsha256_key)"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        if not up_to_date:"},{"line_number":480,"context_line":"            self._connection.log.debug("},{"line_number":481,"context_line":"                \"swift checksum mismatch: \""},{"line_number":482,"context_line":"                \" %(filename)s!\u003d%(container)s/%(name)s\","},{"line_number":483,"context_line":"                {\u0027filename\u0027: filename, \u0027container\u0027: container, \u0027name\u0027: name})"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_c828ae35","line":480,"updated":"2019-03-11 10:21:59.000000000","message":"self.log?","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":483,"context_line":"                {\u0027filename\u0027: filename, \u0027container\u0027: container, \u0027name\u0027: name})"},{"line_number":484,"context_line":"            return True"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"        self._connection.log.debug("},{"line_number":487,"context_line":"            \"swift object up to date: %(container)s/%(name)s\","},{"line_number":488,"context_line":"            {\u0027container\u0027: container, \u0027name\u0027: name})"},{"line_number":489,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_e82b2a2d","line":486,"updated":"2019-03-11 10:21:59.000000000","message":"ditto","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":590,"context_line":"            segment_size \u003d DEFAULT_OBJECT_SEGMENT_SIZE"},{"line_number":591,"context_line":"        min_segment_size \u003d 0"},{"line_number":592,"context_line":"        try:"},{"line_number":593,"context_line":"            # caps \u003d self.get_object_capabilities()"},{"line_number":594,"context_line":"            caps \u003d self.get_info()"},{"line_number":595,"context_line":"        except exceptions.SDKException as e:"},{"line_number":596,"context_line":"            if e.response.status_code in (404, 412):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_8822a651","line":593,"updated":"2019-03-11 10:21:59.000000000","message":"nit: remove","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                # and get reported as an Inner Exception later"},{"line_number":599,"context_line":"                _utils._exc_clear()"},{"line_number":600,"context_line":"                server_max_file_size \u003d DEFAULT_MAX_FILE_SIZE"},{"line_number":601,"context_line":"                self._connection.log.info("},{"line_number":602,"context_line":"                    \"Swift capabilities not supported. \""},{"line_number":603,"context_line":"                    \"Using default max file size.\")"},{"line_number":604,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_a81d2210","line":601,"updated":"2019-03-11 10:21:59.000000000","message":"nit: self.log?","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"}],"openstack/object_store/v1/info.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1161d4e928168b518b80a68d5f735493390b646","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        session \u003d self._get_session(session)"},{"line_number":63,"context_line":"        endpoint \u003d urllib.parse.urlparse(session.get_endpoint())"},{"line_number":64,"context_line":"        url \u003d \"{scheme}://{netloc}/info\".format("},{"line_number":65,"context_line":"            scheme\u003dendpoint.scheme, netloc\u003dendpoint.netloc)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        microversion \u003d self._get_microversion_for(session, \u0027fetch\u0027)"},{"line_number":68,"context_line":"        response \u003d session.get(url, microversion\u003dmicroversion)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_a8f442d0","line":65,"updated":"2019-03-11 10:21:59.000000000","message":"nit: why not url-join endpoint and \u0027/info\u0027?","commit_id":"baa702566dd9acf717e2307b7ee140e45a16c650"}]}
