)]}'
{".gitignore":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"a7f65c9143192b77572dc838bcde75b3b74271be","unresolved":false,"context_lines":[{"line_number":5,"context_line":".pydevproject"},{"line_number":6,"context_line":".tox"},{"line_number":7,"context_line":".venv"},{"line_number":8,"context_line":".ropeproject"},{"line_number":9,"context_line":"AUTHORS"},{"line_number":10,"context_line":"Authors"},{"line_number":11,"context_line":"build-stamp"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAALH%2F%2FuGw%3D","line":8,"updated":"2012-08-16 06:59:49.000000000","message":"nice that it is alphabatized now but it seems unrelated to the patch?","commit_id":"3eeea9f44466c223b1c714f7e1d47dc56f2451d3"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"5a8935df0198637ef27bba7c334f611c59bd7d51","unresolved":false,"context_lines":[{"line_number":4,"context_line":".project"},{"line_number":5,"context_line":".pydevproject"},{"line_number":6,"context_line":".tox"},{"line_number":7,"context_line":".venv"},{"line_number":8,"context_line":".ropeproject"},{"line_number":9,"context_line":"AUTHORS"},{"line_number":10,"context_line":"Authors"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAALH%2F%2Frc8%3D","line":7,"updated":"2012-08-21 05:02:31.000000000","message":"Editing the .gitignore file has nothing to do with API limit.","commit_id":"a1eeb7cd0c9579b63d07f75e4374150d99348866"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":8,"context_line":".ropeproject"},{"line_number":9,"context_line":"AUTHORS"},{"line_number":10,"context_line":"Authors"},{"line_number":11,"context_line":"build-stamp"},{"line_number":12,"context_line":"build/*"},{"line_number":13,"context_line":"CA/"},{"line_number":14,"context_line":"ChangeLog"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"AAAALH%2F%2FrUI%3D","line":11,"updated":"2012-08-21 13:09:35.000000000","message":"All these changes are unrelated to what you\u0027re trying to do in this commit\n\nPlease submit a separate patch for this, with an explanation for why it\u0027s needed in the commit message","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"}],"nova/api/openstack/common.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"30f3ce9c5c876f2c318390328ac2418a5ae2d35b","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"# add by pyw"},{"line_number":189,"context_line":"def get_limited(request, max_limit\u003dFLAGS.osapi_max_limit):"},{"line_number":190,"context_line":"    \"get limited param from request\""},{"line_number":191,"context_line":"    params \u003d get_pagination_params(request)"},{"line_number":192,"context_line":"    limit \u003d params.get(\u0027limit\u0027, max_limit)"},{"line_number":193,"context_line":"    limit \u003d min(max_limit, limit)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9SE%3D","line":190,"updated":"2012-07-30 08:44:36.000000000","message":"This should be\n \"\"\"get limited param from request\"\"\"","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    return items[offset:range_end]"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"def get_limited_param(request, max_limit\u003dFLAGS.osapi_max_limit):"},{"line_number":189,"context_line":"    \"\"\"get limited parameter from request\"\"\""},{"line_number":190,"context_line":"    params \u003d get_pagination_params(request)"},{"line_number":191,"context_line":"    limit \u003d params.get(\u0027limit\u0027, max_limit)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2Fhvo%3D","line":188,"updated":"2012-09-04 08:27:07.000000000","message":"get_limit_and_marker() would be more clear\n\nlimited_param sounds like the parameter is limited rather than \"parameters related to limiting\"","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    limit \u003d params.get(\u0027limit\u0027, max_limit)"},{"line_number":203,"context_line":"    marker \u003d params.get(\u0027marker\u0027)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    limit \u003d min(max_limit, limit)"},{"line_number":206,"context_line":"    start_index \u003d 0"},{"line_number":207,"context_line":"    if marker:"},{"line_number":208,"context_line":"        start_index \u003d -1"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2Fhvw%3D","line":205,"updated":"2012-09-04 08:27:07.000000000","message":"Since you\u0027ve copied the code from here, please re-use it i.e.\n\n  def limited_by_marker(items, request):\n      \"\"\"Return a slice of items according to the requested marker and limit.\"\"\"\n      limit, marker \u003d get_limited_param(request)\n      ....","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            else:"},{"line_number":456,"context_line":"                search_opts[\u0027user_id\u0027] \u003d context.user_id"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"        print \"*\" * 60, \"pyw debug info\""},{"line_number":459,"context_line":"        limited \u003d self._limit_items(None, req)"},{"line_number":460,"context_line":"        instance_list \u003d self.compute_api.get_all(context,"},{"line_number":461,"context_line":"                                                 search_opts\u003dsearch_opts,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9R8%3D","line":458,"updated":"2012-07-30 08:52:18.000000000","message":"You should never use print statement. Please use the LOG object.","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                                                 search_opts\u003dsearch_opts,"},{"line_number":462,"context_line":"                                                 limit\u003dlimited)"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        print \"[PYW]\", instance_list, req, search_opts, limited"},{"line_number":465,"context_line":"        limited_list \u003d self._limit_items(instance_list, req)"},{"line_number":466,"context_line":"        print \"[PYW]\", instance_list"},{"line_number":467,"context_line":"        print \"*\" * 60, \"pyw debug info end\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9R4%3D","line":464,"updated":"2012-07-30 08:52:18.000000000","message":"ditto","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        print \"[PYW]\", instance_list, req, search_opts, limited"},{"line_number":465,"context_line":"        limited_list \u003d self._limit_items(instance_list, req)"},{"line_number":466,"context_line":"        print \"[PYW]\", instance_list"},{"line_number":467,"context_line":"        print \"*\" * 60, \"pyw debug info end\""},{"line_number":468,"context_line":"        if is_detail:"},{"line_number":469,"context_line":"            self._add_instance_faults(context, limited_list)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9R0%3D","line":466,"updated":"2012-07-30 08:52:18.000000000","message":"ditto","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":464,"context_line":"        print \"[PYW]\", instance_list, req, search_opts, limited"},{"line_number":465,"context_line":"        limited_list \u003d self._limit_items(instance_list, req)"},{"line_number":466,"context_line":"        print \"[PYW]\", instance_list"},{"line_number":467,"context_line":"        print \"*\" * 60, \"pyw debug info end\""},{"line_number":468,"context_line":"        if is_detail:"},{"line_number":469,"context_line":"            self._add_instance_faults(context, limited_list)"},{"line_number":470,"context_line":"            response \u003d self._view_builder.detail(req, limited_list)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9Rw%3D","line":467,"updated":"2012-07-30 08:52:18.000000000","message":"ditto","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        limited \u003d self._get_limited_param(req)"},{"line_number":443,"context_line":"        instance_list \u003d self.compute_api.get_all(context,"},{"line_number":444,"context_line":"                                                 search_opts\u003dsearch_opts,"},{"line_number":445,"context_line":"                                                 limit\u003dlimited)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        limited_list \u003d self._limit_items(instance_list, req)"},{"line_number":448,"context_line":"        if is_detail:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrSE%3D","line":445,"updated":"2012-08-21 13:09:35.000000000","message":"What about the marker?","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":444,"context_line":"                                                 search_opts\u003dsearch_opts,"},{"line_number":445,"context_line":"                                                 limit\u003dlimited)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"        limited_list \u003d self._limit_items(instance_list, req)"},{"line_number":448,"context_line":"        if is_detail:"},{"line_number":449,"context_line":"            self._add_instance_faults(context, limited_list)"},{"line_number":450,"context_line":"            response \u003d self._view_builder.detail(req, limited_list)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrSA%3D","line":447,"updated":"2012-08-21 13:09:35.000000000","message":"This shouldn\u0027t be needed anymore?","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            else:"},{"line_number":447,"context_line":"                search_opts[\u0027user_id\u0027] \u003d context.user_id"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"        limited, marker \u003d self._get_limited_param(req)"},{"line_number":450,"context_line":"        instance_list \u003d self.compute_api.get_all(context,"},{"line_number":451,"context_line":"                                                 search_opts\u003dsearch_opts,"},{"line_number":452,"context_line":"                                                 limit\u003dlimited, marker\u003dmarker)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2Fhvk%3D","line":449,"updated":"2012-09-04 08:27:07.000000000","message":"The return value is \u0027limit\u0027 not \u0027limited\u0027","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":1023,"context_line":"        return webob.Response(status_int\u003d202)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"    def _get_limited_param(self, req):"},{"line_number":1026,"context_line":"        return common.get_limited_param(req)"},{"line_number":1027,"context_line":""},{"line_number":1028,"context_line":"    def _validate_metadata(self, metadata):"},{"line_number":1029,"context_line":"        \"\"\"Ensure that we can work with the metadata given.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2Fhvg%3D","line":1026,"updated":"2012-09-04 08:27:07.000000000","message":"This method doesn\u0027t really help anything - just call the common.get_limited_param() function directly","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"}],"nova/common/sqlalchemyutils.py":[{"author":{"_account_id":1711,"name":"Yun Mao","email":"yunmao@gmail.com","username":"yunmao"},"change_message_id":"161e81dc13adf23889bcbf7001906b2ed1d8216f","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            sort_key_attr \u003d getattr(model, current_sort_key)"},{"line_number":88,"context_line":"        except AttributeError:"},{"line_number":89,"context_line":"            raise exception.InvalidSortKey()"},{"line_number":90,"context_line":"        query \u003d query.order_by(sort_dir_func(sort_key_attr))"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    # Add pagination"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALH%2F%2FmTc%3D","line":89,"updated":"2012-08-28 17:03:00.000000000","message":"exception undefined. see https://jenkins.openstack.org/job/gate-nova-pylint/218/violations/file/nova/common/sqlalchemyutils.py/","commit_id":"cc22b7cf0bbb8f6efa73f2b0fef9912d724df9ac"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"5b56a609875383945537b5590b3dfddd66eb9d89","unresolved":false,"context_lines":[{"line_number":17,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":18,"context_line":"#    under the License."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\"Implementation of SQLAlchemy backend.\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import sqlalchemy"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAALH%2F%2Fh8E%3D","line":20,"updated":"2012-09-04 02:05:25.000000000","message":"docstring should be edited","commit_id":"c6f0d7077c281bb2daa28cf6432c3f3c9f5ba517"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"5b56a609875383945537b5590b3dfddd66eb9d89","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\"Implementation of SQLAlchemy backend.\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import sqlalchemy"},{"line_number":24,"context_line":"from nova import exception"},{"line_number":25,"context_line":"from nova.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAALH%2F%2Fh8M%3D","line":22,"updated":"2012-09-04 02:05:25.000000000","message":"this line should be deleted","commit_id":"c6f0d7077c281bb2daa28cf6432c3f3c9f5ba517"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"5b56a609875383945537b5590b3dfddd66eb9d89","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\"\"\"Implementation of SQLAlchemy backend.\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import sqlalchemy"},{"line_number":24,"context_line":"from nova import exception"},{"line_number":25,"context_line":"from nova.openstack.common import log as logging"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAALH%2F%2Fh8Q%3D","line":23,"updated":"2012-09-04 02:05:25.000000000","message":"there should be a blank line between line 23 and 24","commit_id":"c6f0d7077c281bb2daa28cf6432c3f3c9f5ba517"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"eda4e1527164ce56e4617e0219c66be7e68e64f8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2011 X.commerce, a business unit of eBay Inc."},{"line_number":4,"context_line":"# Copyright 2010 United States Government as represented by the"},{"line_number":5,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":6,"context_line":"# All Rights Reserved."},{"line_number":7,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAALH%2F%2FfPs%3D","line":4,"updated":"2012-09-06 23:01:10.000000000","message":"On new files, you should have new copyright headers, and only your own organization or personal copyright.","commit_id":"0b203188d34b42be073fdd2aef40d05a6f6b9975"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"e4595f7557fe52f7c284520fe056aaa05fd13068","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAALH%2F%2Fez0%3D","line":4,"updated":"2012-09-07 09:33:16.000000000","message":"No, no, no ...\n\nThe \"Administrator....\" and \"All Rights Reserved\" lines are part of the original NASA and OpenStack LLC. copyright header - they don\u0027t make any sense on their own\n\nThere needs to be a Copyright header describing who owns the copyright\n\nThis code was first added to glance/registry/db/api.py by Justin Santa Barbara in I5e9f3ba8298e50345ab4983db96a3f0ce90cab80\n\nAt that time, the file already contained:\n\n  Copyright 2012 Justin Santa Barbara\n\nSo, my best guess is adding that line is appropriate here too","commit_id":"385cfe5d2beb80c622596f6eeec7cc77d88ce8aa"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"a941ae87c6376e3df06791a8da5a5c8c31650b5a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 Justin Santa Barbara"},{"line_number":4,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAALH%2F%2Fews%3D","line":4,"updated":"2012-09-07 11:05:54.000000000","message":"This line doesn\u0027t make any sense, it\u0027s just part of this line:\n\n  Copyright 2010-2011 United States Government as represented by the\n  Administrator of the National Aeronautics and Space Administration.","commit_id":"2b8dd7cba0af0c0d03c7a82e993c4eb5a4b76524"}],"nova/compute/api.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":1003,"context_line":"        return inst"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"    def get_all(self, context, search_opts\u003dNone, sort_key\u003d\u0027created_at\u0027,"},{"line_number":1006,"context_line":"                sort_dir\u003d\u0027desc\u0027, limit\u003d0):"},{"line_number":1007,"context_line":"        \"\"\"Get all instances filtered by one of the given parameters."},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"        If there is no filter and the context is an admin, it will retrieve"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9Rs%3D","line":1006,"updated":"2012-07-30 08:52:18.000000000","message":"Why should the limit be 0? Doesn\u0027t this affect other code?","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":1103,"context_line":"            filters[\u0027uuid\u0027] \u003d uuids"},{"line_number":1104,"context_line":""},{"line_number":1105,"context_line":"        return self.db.instance_get_all_by_filters(context, filters, sort_key,"},{"line_number":1106,"context_line":"                                                   sort_dir, limit)"},{"line_number":1107,"context_line":""},{"line_number":1108,"context_line":"    @wrap_check_policy"},{"line_number":1109,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9Ro%3D","line":1106,"updated":"2012-07-30 08:52:18.000000000","message":"I think its save for limit to have a default value for compatibility.","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":1805,"context_line":"        LOG.debug(_(\"Going to try to live migrate instance\"),"},{"line_number":1806,"context_line":"                  instance\u003dinstance)"},{"line_number":1807,"context_line":"        self.scheduler_rpcapi.live_migration(context, block_migration,"},{"line_number":1808,"context_line":"                disk_over_commit, instance, host, topic\u003dFLAGS.compute_topic)"},{"line_number":1809,"context_line":""},{"line_number":1810,"context_line":""},{"line_number":1811,"context_line":"class HostAPI(base.Base):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrR4%3D","side":"PARENT","line":1808,"updated":"2012-08-21 13:09:35.000000000","message":"This is a mistake, please undo","commit_id":"0272c063bbc32f1ff39f2baa8ae3f0764723ef73"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"        return inst"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"    def get_all(self, context, search_opts\u003dNone, sort_key\u003d\u0027created_at\u0027,"},{"line_number":1016,"context_line":"                sort_dir\u003d\u0027desc\u0027, marker\u003dNone, limit\u003dNone):"},{"line_number":1017,"context_line":"        \"\"\"Get all instances filtered by one of the given parameters."},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"        If there is no filter and the context is an admin, it will retrieve"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2FhvU%3D","line":1016,"updated":"2012-09-04 08:27:07.000000000","message":"Nitpick, but I\u0027d like the args to be in the same order everywhere i.e. limit before marker:\n\n  sort_dir\u003d\u0027desc\u0027, limit\u003dNone, marker\u003dNone)","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"    def _get_instances_by_filters(self, context, filters,"},{"line_number":1107,"context_line":"                                  sort_key, sort_dir,"},{"line_number":1108,"context_line":"                                  marker\u003dNone,"},{"line_number":1109,"context_line":"                                  limit\u003dNone):"},{"line_number":1110,"context_line":"        if \u0027ip6\u0027 in filters or \u0027ip\u0027 in filters:"},{"line_number":1111,"context_line":"            res \u003d self.network_api.get_instance_uuids_by_ip_filter(context,"},{"line_number":1112,"context_line":"                                                                   filters)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2FhvM%3D","line":1109,"updated":"2012-09-04 08:27:07.000000000","message":"Ditto here, put the limit arg first","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"}],"nova/db/api.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                                sort_dir\u003d\u0027desc\u0027, limit\u003dNone, marker\u003dNone):"},{"line_number":599,"context_line":"    \"\"\"Get all instances that match all filters.\"\"\""},{"line_number":600,"context_line":"    return IMPL.instance_get_all_by_filters(context, filters, sort_key,"},{"line_number":601,"context_line":"                                            sort_dir, limit, marker\u003dmarker)"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"def instance_get_active_by_window(context, begin, end\u003dNone, project_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrR0%3D","line":601,"updated":"2012-08-21 13:09:35.000000000","message":"Why pass limit as a positional arg and marker as a keyword arg?\n\nBoth as positional args should be fine","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"a122f028bf4e4d8a1ea74d7333e57db0ec3abca1","unresolved":false,"context_lines":[{"line_number":1572,"context_line":"    query_prefix \u003d exact_filter(query_prefix, models.Instance,"},{"line_number":1573,"context_line":"                                filters, exact_match_filter_names)"},{"line_number":1574,"context_line":""},{"line_number":1575,"context_line":"    # limit (add by pyw[pengyuwei@gmail.com])"},{"line_number":1576,"context_line":"    if limit \u003e 0:"},{"line_number":1577,"context_line":"        query_prefix \u003d query_prefix.limit(limit)"},{"line_number":1578,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9Rk%3D","line":1575,"updated":"2012-07-30 08:52:18.000000000","message":"This line should be:\n #NOTE (pyw): limit\nAccording to HACKING.rst","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5e5b773985c39b9ad09ca04680a0437e24811df2","unresolved":false,"context_lines":[{"line_number":1574,"context_line":""},{"line_number":1575,"context_line":"    # limit (add by pyw[pengyuwei@gmail.com])"},{"line_number":1576,"context_line":"    if limit \u003e 0:"},{"line_number":1577,"context_line":"        query_prefix \u003d query_prefix.limit(limit)"},{"line_number":1578,"context_line":""},{"line_number":1579,"context_line":"    instances \u003d query_prefix.all()"},{"line_number":1580,"context_line":"    if not instances:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2F9RY%3D","line":1577,"updated":"2012-07-30 09:33:32.000000000","message":"Don\u0027t we need to call offset() too?","commit_id":"53e3e68cc559f2726be125b9048e161a9f611236"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"a7f65c9143192b77572dc838bcde75b3b74271be","unresolved":false,"context_lines":[{"line_number":1705,"context_line":"    #if not offset is None:"},{"line_number":1706,"context_line":"    #    query_prefix \u003d query_prefix.offset(offset)"},{"line_number":1707,"context_line":"    #if not limit is None:"},{"line_number":1708,"context_line":"    #    query_prefix \u003d query_prefix.limit(limit)"},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"    marker_item \u003d None"},{"line_number":1711,"context_line":"    if marker is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FuG8%3D","line":1708,"updated":"2012-08-16 06:59:49.000000000","message":"leftover stuff? This should be uncommented or removed.","commit_id":"3eeea9f44466c223b1c714f7e1d47dc56f2451d3"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":1534,"context_line":"    return query.all()"},{"line_number":1535,"context_line":""},{"line_number":1536,"context_line":""},{"line_number":1537,"context_line":"# copy from glance/db/sqlalchemy/api.py"},{"line_number":1538,"context_line":"def paginate_query(query, model, limit, sort_keys, marker\u003dNone,"},{"line_number":1539,"context_line":"                   sort_dir\u003dNone, sort_dirs\u003dNone):"},{"line_number":1540,"context_line":"    \"\"\"Returns a query with sorting / pagination criteria added."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrTs%3D","line":1537,"updated":"2012-08-21 13:09:35.000000000","message":"Ok, this should move into openstack-common in Grizzly\n\nIn the meantime, please move the function to a new nova/common/sqlalchemyutils.py file - this will be what we\u0027ll move to openstack-common","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":1635,"context_line":""},{"line_number":1636,"context_line":"@require_context"},{"line_number":1637,"context_line":"def instance_get_all_by_filters(context, filters, sort_key, sort_dir,"},{"line_number":1638,"context_line":"                                limit\u003dNone, marker\u003dNone, offset\u003dNone):"},{"line_number":1639,"context_line":"    \"\"\"Return instances that match all filters.  Deleted instances"},{"line_number":1640,"context_line":"    will be returned by default, unless there\u0027s a filter that says"},{"line_number":1641,"context_line":"    otherwise\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrRw%3D","line":1638,"updated":"2012-08-21 13:09:35.000000000","message":"offset appears to be unused?","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"}],"nova/tests/api/openstack/fakes.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":401,"context_line":"                  include_fake_metadata\u003dTrue, config_drive\u003dNone,"},{"line_number":402,"context_line":"                  power_state\u003dNone, nw_cache\u003dNone, metadata\u003dNone,"},{"line_number":403,"context_line":"                  security_groups\u003dNone, limit\u003dNone, marker\u003dNone):"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    if user_id is None:"},{"line_number":406,"context_line":"        user_id \u003d \u0027fake_user\u0027"},{"line_number":407,"context_line":"    if project_id is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrRs%3D","line":404,"updated":"2012-08-21 13:09:35.000000000","message":"This seems wrong - why are these params needed?","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            server \u003d stub_instance(id\u003di + 1, uuid\u003duuid,"},{"line_number":398,"context_line":"                    **kwargs)"},{"line_number":399,"context_line":"            servers_list.append(server)"},{"line_number":400,"context_line":"            if not marker is None:"},{"line_number":401,"context_line":"                if not marker is None and uuid \u003d\u003d marker:"},{"line_number":402,"context_line":"                    found_marker \u003d True"},{"line_number":403,"context_line":"                    servers_list \u003d []"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2FhvE%3D","line":400,"updated":"2012-09-04 08:27:07.000000000","message":"You can delete this line","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"485fa1e33199188f7924f4f1b0bc4a283e65d935","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            self.assertTrue(result[1].deleted)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_instance_get_all_by_filters_paginate(self):"},{"line_number":117,"context_line":"        self.flags(sql_connection\u003d\"notdb://\")"},{"line_number":118,"context_line":"        test1 \u003d self.create_instances_with_args(display_name\u003d\u0027test1\u0027)"},{"line_number":119,"context_line":"        test2 \u003d self.create_instances_with_args(display_name\u003d\u0027test2\u0027)"},{"line_number":120,"context_line":"        test3 \u003d self.create_instances_with_args(display_name\u003d\u0027test3\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FrRc%3D","line":117,"updated":"2012-08-21 13:09:35.000000000","message":"Why is this needed?","commit_id":"d4d760d9d522a276b01502c3c69efb0f466da193"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"2ba8dd6416fe36855b52e26ef9cb8097d005e50f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            self.assertTrue(result[1].deleted)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_instance_get_all_by_filters_paginate(self):"},{"line_number":117,"context_line":"        self.flags(sql_connection\u003d\"notdb://\")"},{"line_number":118,"context_line":"        test1 \u003d self.create_instances_with_args(display_name\u003d\u0027test1\u0027)"},{"line_number":119,"context_line":"        test2 \u003d self.create_instances_with_args(display_name\u003d\u0027test2\u0027)"},{"line_number":120,"context_line":"        test3 \u003d self.create_instances_with_args(display_name\u003d\u0027test3\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAALH%2F%2Fhu4%3D","line":117,"updated":"2012-09-04 08:27:07.000000000","message":"This should not be needed here\n\nIt is used in test_instance_get_all_by_filters_regex_unsupported_db() to test the code in regex_filter()","commit_id":"355efe40ad7603d9c03574413ba5ec15ac582693"}]}
