)]}'
{"tempest/lib/services/object_storage/container_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f46b57c4114a10acd93d1470a8cb583aff5e335f","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ContainerClient(rest_client.RestClient):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def create_or_update_container("},{"line_number":27,"context_line":"            self, container_name,"},{"line_number":28,"context_line":"            **headers):"},{"line_number":29,"context_line":"        \"\"\"Creates a container"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f2f7f8d_eb0cd143","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":24},"updated":"2017-09-27 16:52:18.000000000","message":"This should be \"update_container\" because of put() as the consistency.","commit_id":"70ac81ed7b395de2a0c953f1c7334ef9a2ddf21b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f46b57c4114a10acd93d1470a8cb583aff5e335f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":50,"context_line":"        return resp, body"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def create_update_or_delete_container_metadata("},{"line_number":53,"context_line":"            self, container_name,"},{"line_number":54,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":55,"context_line":"            delete_metadata\u003dNone,"},{"line_number":56,"context_line":"            create_update_metadata_prefix\u003d\u0027X-Container-Meta-\u0027,"},{"line_number":57,"context_line":"            delete_metadata_prefix\u003d\u0027X-Remove-Container-Meta-\u0027):"},{"line_number":58,"context_line":"        \"\"\"Creates, Updates or deletes an containter metadata entry."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        Container Metadata can be created, updated or deleted based on"},{"line_number":61,"context_line":"        metadata header or value. For detailed info, please refer to the"},{"line_number":62,"context_line":"        official API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/object-store/#create-update-or-delete-container-metadata"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        url \u003d str(container_name)"},{"line_number":66,"context_line":"        headers \u003d {}"},{"line_number":67,"context_line":"        if create_update_metadata:"},{"line_number":68,"context_line":"            for key in create_update_metadata:"},{"line_number":69,"context_line":"                metadata_header_name \u003d create_update_metadata_prefix + key"},{"line_number":70,"context_line":"                headers[metadata_header_name] \u003d create_update_metadata[key]"},{"line_number":71,"context_line":"        if delete_metadata:"},{"line_number":72,"context_line":"            for key in delete_metadata:"},{"line_number":73,"context_line":"                headers[delete_metadata_prefix + key] \u003d delete_metadata[key]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        resp, body \u003d self.post(url, headers\u003dheaders, body\u003dNone)"},{"line_number":76,"context_line":"        self.expected_success(204, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_cb5e1443","line":73,"range":{"start_line":52,"start_character":0,"end_line":73,"end_character":76},"updated":"2017-09-27 16:52:18.000000000","message":"How about defining this as create_container_metadata() and passing header for deleting case?\nCurrent this method seems to contain part of a wrapper for me.","commit_id":"3eab5c0cd79d1a6863e3d30e3a22281bcf04dc6a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0b0fa315ff63dda31a5f93860281de5b918ff25e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":50,"context_line":"        return resp, body"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def create_update_or_delete_container_metadata("},{"line_number":53,"context_line":"            self, container_name,"},{"line_number":54,"context_line":"            create_update_metadata\u003dNone,"},{"line_number":55,"context_line":"            delete_metadata\u003dNone,"},{"line_number":56,"context_line":"            create_update_metadata_prefix\u003d\u0027X-Container-Meta-\u0027,"},{"line_number":57,"context_line":"            delete_metadata_prefix\u003d\u0027X-Remove-Container-Meta-\u0027):"},{"line_number":58,"context_line":"        \"\"\"Creates, Updates or deletes an containter metadata entry."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        Container Metadata can be created, updated or deleted based on"},{"line_number":61,"context_line":"        metadata header or value. For detailed info, please refer to the"},{"line_number":62,"context_line":"        official API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/object-store/#create-update-or-delete-container-metadata"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        url \u003d str(container_name)"},{"line_number":66,"context_line":"        headers \u003d {}"},{"line_number":67,"context_line":"        if create_update_metadata:"},{"line_number":68,"context_line":"            for key in create_update_metadata:"},{"line_number":69,"context_line":"                metadata_header_name \u003d create_update_metadata_prefix + key"},{"line_number":70,"context_line":"                headers[metadata_header_name] \u003d create_update_metadata[key]"},{"line_number":71,"context_line":"        if delete_metadata:"},{"line_number":72,"context_line":"            for key in delete_metadata:"},{"line_number":73,"context_line":"                headers[delete_metadata_prefix + key] \u003d delete_metadata[key]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        resp, body \u003d self.post(url, headers\u003dheaders, body\u003dNone)"},{"line_number":76,"context_line":"        self.expected_success(204, resp.status)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_9abf36a9","line":73,"range":{"start_line":52,"start_character":0,"end_line":73,"end_character":76},"in_reply_to":"7f515b1d_cb5e1443","updated":"2017-09-28 07:43:55.000000000","message":"humm, actually it does the delete also based on headers. having only create in name might make this method difficult to understand as delete method also.","commit_id":"3eab5c0cd79d1a6863e3d30e3a22281bcf04dc6a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f46b57c4114a10acd93d1470a8cb583aff5e335f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027update_container_metadata\u0027, __name__,"},{"line_number":82,"context_line":"        version\u003d\u0027Queens\u0027, removal_version\u003d\u0027Rocky\u0027)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def list_container_metadata(self, container_name):"},{"line_number":85,"context_line":"        \"\"\"List all container metadata.\"\"\""},{"line_number":86,"context_line":"        url \u003d str(container_name)"},{"line_number":87,"context_line":"        resp, body \u003d self.head(url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_eb055047","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":31},"updated":"2017-09-27 16:52:18.000000000","message":"Does this HEAD returns list of metadata with 204(No Content) ?\nHEAD is mostly used for checking the existence of resource, so this seems odd for me..","commit_id":"3eab5c0cd79d1a6863e3d30e3a22281bcf04dc6a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0b0fa315ff63dda31a5f93860281de5b918ff25e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \u0027update_container_metadata\u0027, __name__,"},{"line_number":82,"context_line":"        version\u003d\u0027Queens\u0027, removal_version\u003d\u0027Rocky\u0027)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def list_container_metadata(self, container_name):"},{"line_number":85,"context_line":"        \"\"\"List all container metadata.\"\"\""},{"line_number":86,"context_line":"        url \u003d str(container_name)"},{"line_number":87,"context_line":"        resp, body \u003d self.head(url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f515b1d_7ab91aca","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":31},"in_reply_to":"7f515b1d_eb055047","updated":"2017-09-28 07:43:55.000000000","message":"Yea, all info like number of object etc are returned in response","commit_id":"3eab5c0cd79d1a6863e3d30e3a22281bcf04dc6a"}]}
