)]}'
{"cinderclient/base.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"67adf5094e0969bae798fca30b6e22175a270c9e","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                   limit, items)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        return common_base.ListWithMeta("},{"line_number":113,"context_line":"            items, resp.headers.get(\u0027x-openstack-request-id\u0027))"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    @contextlib.contextmanager"},{"line_number":116,"context_line":"    def completion_cache(self, cache_type, obj_class, mode):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_c4dbb84d","line":113,"updated":"2015-09-18 14:38:32.000000000","message":"since the header is always the same could reduce duplication by creating a class that extends ListWithMeta but takes a resp instead.","commit_id":"f69dbe19f2fdf4af9bb126d0017c9f1a8c166a23"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"67adf5094e0969bae798fca30b6e22175a270c9e","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    def _delete(self, url):"},{"line_number":199,"context_line":"        resp, body \u003d self.api.client.delete(url)"},{"line_number":200,"context_line":"        resp.request_id \u003d [resp.headers.get(\u0027x-openstack-request-id\u0027)]"},{"line_number":201,"context_line":"        return resp"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def _update(self, url, body, response_key\u003dNone, **kwargs):"},{"line_number":204,"context_line":"        self.run_hooks(\u0027modify_body_for_update\u0027, body, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_c4b2d805","line":201,"updated":"2015-09-18 14:38:32.000000000","message":"could probably implement this with a wrapper too, it would be more consistent and easier.\n\n e.g., return common_base.ResponseWrapper(resp)","commit_id":"f69dbe19f2fdf4af9bb126d0017c9f1a8c166a23"}],"cinderclient/openstack/common/apiclient/base.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"67adf5094e0969bae798fca30b6e22175a270c9e","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        self._loaded \u003d val"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"class ListWithMeta(list):"},{"line_number":500,"context_line":"    \"\"\"Wrapper class for \u0027list\u0027 data type."},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    Wrapper class for list data type with \u0027request_ids\u0027 attribute."}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_a47a4422","line":499,"updated":"2015-09-18 14:38:32.000000000","message":"could have a base class for all these classes the have request IDs.","commit_id":"f69dbe19f2fdf4af9bb126d0017c9f1a8c166a23"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"67adf5094e0969bae798fca30b6e22175a270c9e","unresolved":false,"context_lines":[{"line_number":516,"context_line":"    \"\"\""},{"line_number":517,"context_line":"    def __init__(self, values, request_ids):"},{"line_number":518,"context_line":"        super(DictWithMeta, self).__init__(values)"},{"line_number":519,"context_line":"        if isinstance(request_ids, list):"},{"line_number":520,"context_line":"            self.request_ids \u003d request_ids"},{"line_number":521,"context_line":"        else:"},{"line_number":522,"context_line":"            self.request_ids \u003d [request_ids]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_64a74ca7","line":519,"updated":"2015-09-18 14:38:32.000000000","message":"a base class would be nice especially since there\u0027s a lot of copy-pasting.","commit_id":"f69dbe19f2fdf4af9bb126d0017c9f1a8c166a23"}],"cinderclient/v2/volumes.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"67adf5094e0969bae798fca30b6e22175a270c9e","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        url \u003d \u0027/volumes/%s/action\u0027 % base.getid(volume)"},{"line_number":405,"context_line":"        resp, body \u003d self.api.client.post(url, body\u003dbody)"},{"line_number":406,"context_line":"        resp.request_id \u003d [resp.headers.get(\u0027x-openstack-request-id\u0027)]"},{"line_number":407,"context_line":"        return resp, body"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    def attach(self, volume, instance_uuid, mountpoint, mode\u003d\u0027rw\u0027,"},{"line_number":410,"context_line":"               host_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_44da4818","line":407,"updated":"2015-09-18 14:38:32.000000000","message":"This could be put into a function, too, so you don\u0027t have to copy-paste all over.","commit_id":"f69dbe19f2fdf4af9bb126d0017c9f1a8c166a23"}]}
