)]}'
{"swift/account/server.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                       for key, (value, timestamp) in"},{"line_number":181,"context_line":"                       broker.metadata.iteritems() if value !\u003d \u0027\u0027)"},{"line_number":182,"context_line":"        if get_param(req, \u0027format\u0027):"},{"line_number":183,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get("},{"line_number":184,"context_line":"                get_param(req, \u0027format\u0027).lower(), FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":185,"context_line":"        try:"},{"line_number":186,"context_line":"            headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2FshM%3D","line":183,"updated":"2012-11-29 22:35:54.000000000","message":"Is this a swob.Accept() object?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            return HTTPBadRequest(body\u003d\u0027parameters not utf8\u0027,"},{"line_number":240,"context_line":"                                  content_type\u003d\u0027text/plain\u0027, request\u003dreq)"},{"line_number":241,"context_line":"        if query_format:"},{"line_number":242,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get(query_format.lower(),"},{"line_number":243,"context_line":"                                                 FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":244,"context_line":"        try:"},{"line_number":245,"context_line":"            out_content_type \u003d req.accept.best_match("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2FshA%3D","line":242,"updated":"2012-11-29 22:35:54.000000000","message":"Is this a swob.Accept() object?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"992c8caee5901b0a9adfb313542aca920e976dc9","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get("},{"line_number":184,"context_line":"                get_param(req, \u0027format\u0027).lower(), FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":185,"context_line":"        headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("},{"line_number":186,"context_line":"            [\u0027text/plain\u0027, \u0027application/json\u0027, \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":187,"context_line":"        if not headers[\u0027Content-Type\u0027]:"},{"line_number":188,"context_line":"            return HTTPNotAcceptable(request\u003dreq)"},{"line_number":189,"context_line":"        return HTTPNoContent(request\u003dreq, headers\u003dheaders, charset\u003d\u0027utf-8\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F%2B8A%3D","line":186,"updated":"2012-12-03 21:32:20.000000000","message":"Should this list of strings be a constant somewhere? It appears that this same list is specified in four places, this being the first of the four.","commit_id":"064ee2b58337b7fd3ae5fca343b1f6fd3bd86ed7"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"992c8caee5901b0a9adfb313542aca920e976dc9","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get(query_format.lower(),"},{"line_number":240,"context_line":"                                                 FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":241,"context_line":"        out_content_type \u003d req.accept.best_match("},{"line_number":242,"context_line":"            [\u0027text/plain\u0027, \u0027application/json\u0027, \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":243,"context_line":"        if not out_content_type:"},{"line_number":244,"context_line":"            return HTTPNotAcceptable(request\u003dreq)"},{"line_number":245,"context_line":"        account_list \u003d broker.list_containers_iter(limit, marker, end_marker,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F%2B78%3D","line":242,"updated":"2012-12-03 21:32:20.000000000","message":"Should this list of strings be a constant somewhere? It appears that this same list is specified in four places, this being the second of the four.","commit_id":"064ee2b58337b7fd3ae5fca343b1f6fd3bd86ed7"}],"swift/common/swob.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                quality -\u003d 0.01"},{"line_number":605,"context_line":"            elif typ.endswith(\u0027/*\u0027):"},{"line_number":606,"context_line":"                quality -\u003d 0.01"},{"line_number":607,"context_line":"            elif \u0027*\u0027 in typ:"},{"line_number":608,"context_line":"                raise AssertionError(\u0027bad accept header\u0027)"},{"line_number":609,"context_line":"            pattern \u003d \u0027[a-zA-Z0-9-]+\u0027.join([re.escape(x) for x in"},{"line_number":610,"context_line":"                                            typ.strip().split(\u0027*\u0027)])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2FsgU%3D","line":607,"updated":"2012-11-29 22:35:54.000000000","message":"(I realize that this is not part of your code changes, but thought I would comment on them anyways since I reviewed the operation of this routine.)\n\nPerhaps Accept should have its own Exception object rather than using an Assertion?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":607,"context_line":"            elif \u0027*\u0027 in typ:"},{"line_number":608,"context_line":"                raise AssertionError(\u0027bad accept header\u0027)"},{"line_number":609,"context_line":"            pattern \u003d \u0027[a-zA-Z0-9-]+\u0027.join([re.escape(x) for x in"},{"line_number":610,"context_line":"                                            typ.strip().split(\u0027*\u0027)])"},{"line_number":611,"context_line":"            types.append((quality, re.compile(pattern), typ))"},{"line_number":612,"context_line":"        types.sort(reverse\u003dTrue, key\u003dlambda t: t[0])"},{"line_number":613,"context_line":"        return types"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2Fsf8%3D","line":610,"updated":"2012-11-29 22:35:54.000000000","message":"(I realize that this is not part of your code changes, but thought I would comment on them anyways since I reviewed the operation of this routine.)\n\nWho consumes quality and typ?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":611,"context_line":"            types.append((quality, re.compile(pattern), typ))"},{"line_number":612,"context_line":"        types.sort(reverse\u003dTrue, key\u003dlambda t: t[0])"},{"line_number":613,"context_line":"        return types"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"    def best_match(self, options, default_match\u003d\u0027text/plain\u0027):"},{"line_number":616,"context_line":"        for quality, pattern, typ in self._get_types():"},{"line_number":617,"context_line":"            for option in options:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2FsgQ%3D","line":614,"updated":"2012-11-29 22:35:54.000000000","message":"(I realize that this is not part of your code changes, but thought I would comment on them anyways since I reviewed the operation of this routine.)\n\nSeems like all the call sites provide the same default ... worth having?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"}],"swift/container/server.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            if value !\u003d \u0027\u0027 and (key.lower() in self.save_headers or"},{"line_number":279,"context_line":"                                key.lower().startswith(\u0027x-container-meta-\u0027)))"},{"line_number":280,"context_line":"        if get_param(req, \u0027format\u0027):"},{"line_number":281,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get("},{"line_number":282,"context_line":"                get_param(req, \u0027format\u0027).lower(), FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":283,"context_line":"        try:"},{"line_number":284,"context_line":"            headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2Fshc%3D","line":281,"updated":"2012-11-29 22:35:54.000000000","message":"Is this an swob.Accept() object?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c6b8e8deed3c283d66f51b7863c23a299ba35c49","unresolved":false,"context_lines":[{"line_number":341,"context_line":"            return HTTPBadRequest(body\u003d\u0027parameters not utf8\u0027,"},{"line_number":342,"context_line":"                                  content_type\u003d\u0027text/plain\u0027, request\u003dreq)"},{"line_number":343,"context_line":"        if query_format:"},{"line_number":344,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get(query_format.lower(),"},{"line_number":345,"context_line":"                                                 FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":346,"context_line":"        try:"},{"line_number":347,"context_line":"            out_content_type \u003d req.accept.best_match("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2FshY%3D","line":344,"updated":"2012-11-29 22:35:54.000000000","message":"Is this a swob.Accept() object?","commit_id":"c5a1fe90b4bad0c159d4770f88811ea88ee97bad"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"992c8caee5901b0a9adfb313542aca920e976dc9","unresolved":false,"context_lines":[{"line_number":281,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get("},{"line_number":282,"context_line":"                get_param(req, \u0027format\u0027).lower(), FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":283,"context_line":"        headers[\u0027Content-Type\u0027] \u003d req.accept.best_match("},{"line_number":284,"context_line":"            [\u0027text/plain\u0027, \u0027application/json\u0027, \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":285,"context_line":"        if not headers[\u0027Content-Type\u0027]:"},{"line_number":286,"context_line":"            return HTTPNotAcceptable(request\u003dreq)"},{"line_number":287,"context_line":"        return HTTPNoContent(request\u003dreq, headers\u003dheaders, charset\u003d\u0027utf-8\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F%2B7s%3D","line":284,"updated":"2012-12-03 21:32:20.000000000","message":"Should this list of strings be a constant somewhere? It appears that this same list is specified in four places, this being the third of the four.","commit_id":"064ee2b58337b7fd3ae5fca343b1f6fd3bd86ed7"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"992c8caee5901b0a9adfb313542aca920e976dc9","unresolved":false,"context_lines":[{"line_number":341,"context_line":"            req.accept \u003d FORMAT2CONTENT_TYPE.get(query_format.lower(),"},{"line_number":342,"context_line":"                                                 FORMAT2CONTENT_TYPE[\u0027plain\u0027])"},{"line_number":343,"context_line":"        out_content_type \u003d req.accept.best_match("},{"line_number":344,"context_line":"            [\u0027text/plain\u0027, \u0027application/json\u0027, \u0027application/xml\u0027, \u0027text/xml\u0027])"},{"line_number":345,"context_line":"        if not out_content_type:"},{"line_number":346,"context_line":"            return HTTPNotAcceptable(request\u003dreq)"},{"line_number":347,"context_line":"        container_list \u003d broker.list_objects_iter(limit, marker, end_marker,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F%2B7o%3D","line":344,"updated":"2012-12-03 21:32:20.000000000","message":"Should this list of strings be a constant somewhere? It appears that this same list is specified in four places, this being the fourth of the four.","commit_id":"064ee2b58337b7fd3ae5fca343b1f6fd3bd86ed7"}]}
