)]}'
{"glance/api/glare/v1/resource.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f130458cbe9433bd92ccf571c8d01ec17a509016","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\"WSGI Resource definition for Glare. Defines Glare API and serialization/"},{"line_number":16,"context_line":"deserialization of incoming requests.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import json"},{"line_number":19,"context_line":"import jsonpatch"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_f2f5d050","line":18,"updated":"2016-07-27 11:46:27.000000000","message":"json is a standart lib, so you need blank line here.","commit_id":"0447565c88a7f8f8baf069e1d8bde42eb88a7345"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f130458cbe9433bd92ccf571c8d01ec17a509016","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @supported_versions(min_ver\u003d\u00271.0\u0027)"},{"line_number":82,"context_line":"    def list_schemas(self, req):"},{"line_number":83,"context_line":"        \"\"\"Deserialize request to get list of available schemas"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        :param req: user request"},{"line_number":86,"context_line":"        :return: deserialized parameters for schema request"},{"line_number":87,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_1257c426","line":84,"updated":"2016-07-27 11:46:27.000000000","message":"Do we need get_content_type for list_schemas?","commit_id":"0447565c88a7f8f8baf069e1d8bde42eb88a7345"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f130458cbe9433bd92ccf571c8d01ec17a509016","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        try:"},{"line_number":137,"context_line":"            content_type \u003d self._get_content_type(req)"},{"line_number":138,"context_line":"        except exc.BadRequest:"},{"line_number":139,"context_line":"            # if content type wasn\u0027t specified in request, then we fallback to"},{"line_number":140,"context_line":"            # \u0027application/octet-stream\u0027"},{"line_number":141,"context_line":"            content_type \u003d \u0027application/octet-stream\u0027"},{"line_number":142,"context_line":"        return {\u0027data\u0027: req.body_file, \u0027content_type\u0027: content_type}"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_b5da2276","line":139,"updated":"2016-07-27 11:46:27.000000000","message":"I guess it is better to delete this.","commit_id":"0447565c88a7f8f8baf069e1d8bde42eb88a7345"}],"glance/common/glare/store_api.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f130458cbe9433bd92ccf571c8d01ec17a509016","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        LOG.error(msg)"},{"line_number":123,"context_line":"        raise exception.BadRequest(message\u003dmsg)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    res \u003d urllib.urlopen(url)"},{"line_number":126,"context_line":"    http_message \u003d res.info()"},{"line_number":127,"context_line":"    content_type \u003d getattr(http_message, \u0027type\u0027) or \u0027application/octet-stream\u0027"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_95cf1e28","line":125,"updated":"2016-07-27 11:46:27.000000000","message":"don\u0027t we need to catch http exceptions here?","commit_id":"0447565c88a7f8f8baf069e1d8bde42eb88a7345"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f130458cbe9433bd92ccf571c8d01ec17a509016","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    checksum \u003d None"},{"line_number":133,"context_line":"    if calc_checksum:"},{"line_number":134,"context_line":"        checksum \u003d hashlib.md5()"},{"line_number":135,"context_line":"        blob_data, __ \u003d load_from_store(url, context)"},{"line_number":136,"context_line":"        size \u003d 0"},{"line_number":137,"context_line":"        for buf in blob_data:"},{"line_number":138,"context_line":"            checksum.update(buf)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_985593fb","line":135,"updated":"2016-07-27 11:46:27.000000000","message":"since we don\u0027t need a size anymore, could you please remove content-length from load_from_store return value. So we don\u0027t need all these \"__\" variables in code.","commit_id":"0447565c88a7f8f8baf069e1d8bde42eb88a7345"}]}
