)]}'
{"glanceclient/tests/unit/v2/test_images.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6a05c4276900c485a46a8bdb81cc7aacf49bf462","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import errno"},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_453ffb23","line":17,"updated":"2015-10-08 14:02:36.000000000","message":"import mock should be part of 2nd level import","commit_id":"ea1d4610971489b0d694669885cac66414d5a4eb"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"260dae6b40cb16fe1220aef9383c50352cd613d1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import errno"},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a2fa921_12402b33","line":17,"in_reply_to":"7a2fa921_453ffb23","updated":"2015-10-09 15:34:14.000000000","message":"Gotcha! You\u0027re right.","commit_id":"ea1d4610971489b0d694669885cac66414d5a4eb"}],"glanceclient/v2/images.py":[{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"7f60ea6b7bb23531ebf63df585e45a7361746900","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                    # This prevents side-effects of injecting invalid"},{"line_number":116,"context_line":"                    # schema values via v1."},{"line_number":117,"context_line":"                    if kwargs.get(\u0027validate\u0027):"},{"line_number":118,"context_line":"                        yield self.model.validate(**image)"},{"line_number":119,"context_line":"                    else:"},{"line_number":120,"context_line":"                        yield self.unvalidated_model(**image)"},{"line_number":121,"context_line":"                    if limit:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_33ebec14","line":118,"updated":"2015-09-07 11:24:35.000000000","message":"Seems like \u0027model\u0027 is a method by itself. What is \u0027model.validate\u0027?","commit_id":"6e030235deecf13cb7dc9855cd702bdc43ab9b06"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"d097f12c65906501d5322a66b82b263ba8435d56","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        \"\"\"Retrieve a listing of Image objects."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param page_size: Number of images to request in each"},{"line_number":88,"context_line":"                          paginated request."},{"line_number":89,"context_line":"        :returns: generator over list of Images."},{"line_number":90,"context_line":"        \"\"\""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_56525768","line":88,"updated":"2015-09-11 13:14:09.000000000","message":"Mid to add the param line here as well.","commit_id":"10b9469d3630c1ff17aa8a5db7c0b01ecb28345d"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"d097f12c65906501d5322a66b82b263ba8435d56","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        validate \u003d kwargs.get(\u0027validate\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        def paginate(url, page_size, limit\u003dNone, validate\u003dFalse):"},{"line_number":101,"context_line":"            next_url \u003d url"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"            # By default we do not validate the model when listing."}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_365fa342","line":100,"updated":"2015-09-11 13:14:09.000000000","message":"How about:\nvalidate \u003d kwargs.get(\u0027validate\u0027, False)\n\ndef paginate(url, page_size, limit\u003dNone, validate\u003dvalidate):\n\nAnd then we can just leave it off from the for loop in L181","commit_id":"10b9469d3630c1ff17aa8a5db7c0b01ecb28345d"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f99118e11d58b6066669147725cbdb4a0a8503b4","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        validate \u003d kwargs.get(\u0027validate\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        def paginate(url, page_size, limit\u003dNone, validate\u003dFalse):"},{"line_number":101,"context_line":"            next_url \u003d url"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"            # By default we do not validate the model when listing."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_b51c77c2","line":100,"updated":"2015-10-02 09:07:16.000000000","message":"I tend to disagree with naming.\nIMO it is not good idea to have local function variable with the same name as var in external namespace. If it is possible I would recommend to rename it.","commit_id":"10b9469d3630c1ff17aa8a5db7c0b01ecb28345d"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"d097f12c65906501d5322a66b82b263ba8435d56","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            # By default we do not validate the model when listing."},{"line_number":104,"context_line":"            # This prevents side-effects of injecting invalid"},{"line_number":105,"context_line":"            # schema values via v1."},{"line_number":106,"context_line":"            validate_func \u003d self.model if validate else self.unvalidated_model"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"            while True:"},{"line_number":109,"context_line":"                if limit and page_size \u003e limit:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_3969d4be","line":106,"updated":"2015-09-11 13:14:09.000000000","message":"Perhaps \"if validate is True\" ?","commit_id":"10b9469d3630c1ff17aa8a5db7c0b01ecb28345d"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"1feec244b2ceb275cac128cd78c20dda0b1ff71e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                raise exc.HTTPBadRequest(msg)"},{"line_number":82,"context_line":"        return sort"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def list(self, validate\u003dFalse, **kwargs):"},{"line_number":85,"context_line":"        \"\"\"Retrieve a listing of Image objects."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param page_size: Number of images to request in each"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_859c5ac1","line":84,"updated":"2015-10-07 18:53:57.000000000","message":"Seems it\u0027s required to rename it \u0027validation\u0027 too. But I don\u0027t understand why can\u0027t we just pass it in kwargs and then get it from it as \u0027page_size\u0027.","commit_id":"ee31dd04a7aa76351b587fd92d4c3d37d80742c3"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"1feec244b2ceb275cac128cd78c20dda0b1ff71e","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        # NOTE(flaper87): Don\u0027t use `get(\u0027page_size\u0027, DEFAULT_SIZE)` otherwise,"},{"line_number":94,"context_line":"        # it could be possible to send invalid data to the server by passing"},{"line_number":95,"context_line":"        # page_size\u003dNone."},{"line_number":96,"context_line":"        size_page \u003d kwargs.get(\u0027page_size\u0027) or DEFAULT_PAGE_SIZE"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        def paginate(next_url, page_size, limit\u003dNone, validation\u003dvalidate):"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_056a8ab3","line":96,"updated":"2015-10-07 18:53:57.000000000","message":"Em... size_page? it was page_size before :)","commit_id":"ee31dd04a7aa76351b587fd92d4c3d37d80742c3"}],"glanceclient/v2/shell.py":[{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"7f60ea6b7bb23531ebf63df585e45a7361746900","unresolved":false,"context_lines":[{"line_number":144,"context_line":"           help\u003d((\"Comma-separated list of sort keys and directions in the \""},{"line_number":145,"context_line":"                  \"form of \u003ckey\u003e[:\u003casc|desc\u003e]. Valid keys: %s. OPTIONAL: \""},{"line_number":146,"context_line":"                  \"Default\u003d\u0027name:asc\u0027.\") % \u0027, \u0027.join(images.SORT_KEY_VALUES)))"},{"line_number":147,"context_line":"@utils.arg(\u0027--validate\u0027, metavar\u003d\u0027\u003cVALIDATE\u003e\u0027, default\u003dFalse,"},{"line_number":148,"context_line":"           help\u003d\"Enable validation of images.\")"},{"line_number":149,"context_line":"def do_image_list(gc, args):"},{"line_number":150,"context_line":"    \"\"\"List images you can access.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_93e0b827","line":147,"updated":"2015-09-07 11:24:35.000000000","message":"action\u003d\u0027store_true\u0027 is definitely required here.","commit_id":"6e030235deecf13cb7dc9855cd702bdc43ab9b06"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f99118e11d58b6066669147725cbdb4a0a8503b4","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                  \"form of \u003ckey\u003e[:\u003casc|desc\u003e]. Valid keys: %s. OPTIONAL.\""},{"line_number":146,"context_line":"                  ) % \u0027, \u0027.join(images.SORT_KEY_VALUES)))"},{"line_number":147,"context_line":"@utils.arg(\u0027--validate\u0027, action\u003d\u0027store_true\u0027,"},{"line_number":148,"context_line":"           default\u003dFalse, help\u003d\"Enable schema validation for list of images.\")"},{"line_number":149,"context_line":"def do_image_list(gc, args):"},{"line_number":150,"context_line":"    \"\"\"List images you can access.\"\"\""},{"line_number":151,"context_line":"    filter_keys \u003d [\u0027visibility\u0027, \u0027member_status\u0027, \u0027owner\u0027, \u0027checksum\u0027, \u0027tag\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a1a9d01_954853ce","line":148,"updated":"2015-10-02 09:07:16.000000000","message":"Please add translation function for help.","commit_id":"10b9469d3630c1ff17aa8a5db7c0b01ecb28345d"}]}
