)]}'
{"openstack/block_storage/v3/metadata.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b4bde076c758a2bf4c0d7c5f331f5202699dd51b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from openstack import utils"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class MetadataMixin:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    def _metadata(self, method, key\u003dNone, clear\u003dFalse, delete\u003dFalse,"},{"line_number":21,"context_line":"                  metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3c7364d0_b89a50e3","line":18,"updated":"2021-07-01 13:49:01.000000000","message":"This looks identical to the compute\u0027s one. Is there any difference? Could you extract a common base class?","commit_id":"e447e34f1b298981bb7ffe2fc00ecef0f347d11c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b4bde076c758a2bf4c0d7c5f331f5202699dd51b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                raise ValueError(\"The value for %s (%s) must be \""},{"line_number":26,"context_line":"                                 \"a text string\" % (k, v))"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # If we\u0027re in a ServerDetail, we need to pop the \"detail\" portion"},{"line_number":29,"context_line":"        # of the URL off and then everything else will work the same."},{"line_number":30,"context_line":"        pos \u003d self.base_path.find(\"detail\")"},{"line_number":31,"context_line":"        if pos !\u003d -1:"}],"source_content_type":"text/x-python","patch_set":3,"id":"2494f7de_65bb5b6f","line":28,"updated":"2021-07-01 13:49:01.000000000","message":"nit: copy-paste?","commit_id":"e447e34f1b298981bb7ffe2fc00ecef0f347d11c"}]}
