)]}'
{"cinder/api/common.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"c48abeb81d2124ae6e2134ff18ce1b1accbfcc67","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        So we return next link if:"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        1) \u0027limit\u0027 param is specified and equal to the number of items."},{"line_number":294,"context_line":"        3) \u0027limit\u0027 param is NOT specified and the number of items is"},{"line_number":295,"context_line":"           equal to CONF.osapi_max_limit."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        :param request: API request"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_52b54bea","line":294,"updated":"2015-08-13 03:21:40.000000000","message":"s/3)/2)","commit_id":"9afbdd910fd5e287410f907dee677cc84508c2ea"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"42ecf663a06aba6537f0f194830c1cfaa0b33f8e","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        So we return next link if:"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        1) \u0027limit\u0027 param is specified and equal to the number of items."},{"line_number":294,"context_line":"        3) \u0027limit\u0027 param is NOT specified and the number of items is"},{"line_number":295,"context_line":"           equal to CONF.osapi_max_limit."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        :param request: API request"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4deb57a4","line":294,"in_reply_to":"1a4dcd0f_52b54bea","updated":"2015-08-13 12:47:03.000000000","message":"Done","commit_id":"9afbdd910fd5e287410f907dee677cc84508c2ea"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"c0b0f133d158cb76ac03f1ef3b588bb2d4196b80","unresolved":false,"context_lines":[{"line_number":72,"context_line":"def get_pagination_params(params, max_limit\u003dCONF.osapi_max_limit):"},{"line_number":73,"context_line":"    \"\"\"Return marker, limit, offset tuple from request."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    :param request: `wsgi.Request` possibly containing \u0027marker\u0027 and \u0027limit\u0027"},{"line_number":76,"context_line":"                    GET variables. \u0027marker\u0027 is the id of the last element"},{"line_number":77,"context_line":"                    the client has seen, and \u0027limit\u0027 is the maximum number"},{"line_number":78,"context_line":"                    of items to return. If \u0027limit\u0027 is not specified, 0, or"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_42ca221c","line":75,"updated":"2015-08-14 05:52:38.000000000","message":"Please fix docstring for this function: request has been changed to params, and max_limit is added too.","commit_id":"33516d9a7b9eaab57f16490e239561b3ee11377d"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d01122045ab45c9c61a0437eafc918abf41f93ed","unresolved":false,"context_lines":[{"line_number":72,"context_line":"def get_pagination_params(params, max_limit\u003dCONF.osapi_max_limit):"},{"line_number":73,"context_line":"    \"\"\"Return marker, limit, offset tuple from request."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    :param request: `wsgi.Request` possibly containing \u0027marker\u0027 and \u0027limit\u0027"},{"line_number":76,"context_line":"                    GET variables. \u0027marker\u0027 is the id of the last element"},{"line_number":77,"context_line":"                    the client has seen, and \u0027limit\u0027 is the maximum number"},{"line_number":78,"context_line":"                    of items to return. If \u0027limit\u0027 is not specified, 0, or"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_e5b48e36","line":75,"in_reply_to":"1a4dcd0f_42ca221c","updated":"2015-08-14 08:07:03.000000000","message":"Thanks!","commit_id":"33516d9a7b9eaab57f16490e239561b3ee11377d"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"c0b0f133d158cb76ac03f1ef3b588bb2d4196b80","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def _get_marker_param(params):"},{"line_number":105,"context_line":"    \"\"\"Extract marker id from request\u0027s dictionary or fail.\"\"\""},{"line_number":106,"context_line":"    return params.pop(\u0027marker\u0027, None)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_42154299","line":105,"updated":"2015-08-14 05:52:38.000000000","message":"This method wouldn\u0027t fail unless params is not dict, which is unlikely.","commit_id":"33516d9a7b9eaab57f16490e239561b3ee11377d"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d01122045ab45c9c61a0437eafc918abf41f93ed","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def _get_marker_param(params):"},{"line_number":105,"context_line":"    \"\"\"Extract marker id from request\u0027s dictionary or fail.\"\"\""},{"line_number":106,"context_line":"    return params.pop(\u0027marker\u0027, None)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_a585265a","line":105,"in_reply_to":"1a4dcd0f_42154299","updated":"2015-08-14 08:07:03.000000000","message":"Done","commit_id":"33516d9a7b9eaab57f16490e239561b3ee11377d"}],"cinder/common/sqlalchemyutils.py":[{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"ae822eec25e2def125cdbcbad5bd941cfe6e24a8","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    if offset:"},{"line_number":129,"context_line":"        query \u003d query.offset(offset)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    return query"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_6113db65","line":130,"updated":"2015-08-13 01:37:33.000000000","message":"Should handle offset first, and them limit IMO.","commit_id":"9afbdd910fd5e287410f907dee677cc84508c2ea"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"42ecf663a06aba6537f0f194830c1cfaa0b33f8e","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    if offset:"},{"line_number":129,"context_line":"        query \u003d query.offset(offset)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    return query"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_ad553bc2","line":130,"in_reply_to":"1a4dcd0f_6113db65","updated":"2015-08-13 12:47:03.000000000","message":"The order how we do it in sqlalchemy doesn\u0027t matter, as the resulting SQL will be the same:\n\n  SELECT ... LIMIT x OFFSET y;\n\nor\n\n  SELECT ... LIMIT x, y;","commit_id":"9afbdd910fd5e287410f907dee677cc84508c2ea"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"37b914c5365bd21e9acc348cea25210de2963caa","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    if offset:"},{"line_number":129,"context_line":"        query \u003d query.offset(offset)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    return query"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_9ccf2f57","line":130,"in_reply_to":"1a4dcd0f_ad553bc2","updated":"2015-08-14 00:18:04.000000000","message":"Great!","commit_id":"9afbdd910fd5e287410f907dee677cc84508c2ea"}]}
