)]}'
{"designate/api/v2/controllers/extensions/counts.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class CountController(rest.RestController):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    _view \u003d reports_view.CountsView()"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_2358b531","line":26,"updated":"2014-07-10 18:32:52.000000000","message":"Just to be consistent with the naming scheme - could you rename this to CountsController?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class CountController(rest.RestController):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    _view \u003d reports_view.CountsView()"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_9291c59c","line":26,"in_reply_to":"baada198_2358b531","updated":"2014-07-10 19:45:35.000000000","message":"Sure.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    _view \u003d reports_view.CountsView()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_e374fd9d","line":31,"updated":"2014-07-10 18:32:52.000000000","message":"do you need text/dns content type here?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    _view \u003d reports_view.CountsView()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f2e9211b","line":31,"in_reply_to":"baada198_e374fd9d","updated":"2014-07-10 19:45:35.000000000","message":"Probably not. I\u0027ll remove it.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        counts \u003d self.central_api.count_report(context)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_43ce89b5","line":34,"updated":"2014-07-10 18:32:52.000000000","message":"So is pecan.request.environ the same as request.environ?  If so do we need line 33?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        counts \u003d self.central_api.count_report(context)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f2d04155","line":34,"in_reply_to":"baada198_43ce89b5","updated":"2014-07-10 19:45:35.000000000","message":"request is used in the call to show below","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        counts \u003d self.central_api.count_report(context)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        return self._view.show(context, request, counts)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_198400d3","line":38,"updated":"2014-07-10 18:32:52.000000000","message":"To be consistent with the other views - I think it would be good to return the links too.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        counts \u003d self.central_api.count_report(context)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        return self._view.show(context, request, counts)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_b7779b01","line":38,"in_reply_to":"baada198_198400d3","updated":"2014-07-10 19:45:35.000000000","message":"I thought about adding the links, but since this is just a count, It would only link to itself so I didn\u0027t. The other things like quotas don\u0027t have links either. Plus this is in an extension.\nI did add links to the tenants reports, though, because that returns a list that has individual items in it that can be retrieved and used in another call to get more detail","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        return self._view.show(context, request, counts)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, criterion):"},{"line_number":43,"context_line":"        request \u003d pecan.request"},{"line_number":44,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_236fd5c6","line":41,"updated":"2014-07-10 18:32:52.000000000","message":"do you need text/dns content type here?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, criterion):"},{"line_number":43,"context_line":"        request \u003d pecan.request"},{"line_number":44,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_c61547e6","line":42,"updated":"2014-07-10 18:32:52.000000000","message":"Hmm. So is criterion something that we get directly from the user? Do we need to do some validation on it?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, criterion):"},{"line_number":43,"context_line":"        request \u003d pecan.request"},{"line_number":44,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_d2189d77","line":42,"in_reply_to":"baada198_c61547e6","updated":"2014-07-10 19:45:35.000000000","message":"Sure. I\u0027ll add an exceptionf or ReportNotFound and return a 404.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, criterion):"},{"line_number":43,"context_line":"        request \u003d pecan.request"},{"line_number":44,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        counts \u003d self.central_api.count_report(context, criterion\u003dcriterion)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_83bfc1fb","line":44,"updated":"2014-07-10 18:32:52.000000000","message":"So is pecan.request.environ the same as request.environ?  If so do we need line 43?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, criterion):"},{"line_number":43,"context_line":"        request \u003d pecan.request"},{"line_number":44,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        counts \u003d self.central_api.count_report(context, criterion\u003dcriterion)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f29be1c6","line":44,"in_reply_to":"baada198_83bfc1fb","updated":"2014-07-10 19:45:35.000000000","message":"Well, I also use request in the call below. It could be reduced, but this is the pattern all the other controllers use.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"}],"designate/api/v2/controllers/extensions/tenants.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    _view \u003d reports_view.TenantsView()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_86c50f3f","line":31,"updated":"2014-07-10 18:32:52.000000000","message":"do you need text/dns content type here?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    _view \u003d reports_view.TenantsView()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_b20329b7","line":31,"in_reply_to":"baada198_86c50f3f","updated":"2014-07-10 19:45:35.000000000","message":"Probably not, I\u0027ll remove it.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        tenants \u003d self.central_api.find_tenants(context)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_06081f90","line":34,"updated":"2014-07-10 18:32:52.000000000","message":"So is pecan.request.environ the same as request.environ?  If so do we need line 33?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":32,"context_line":"    def get_all(self):"},{"line_number":33,"context_line":"        request \u003d pecan.request"},{"line_number":34,"context_line":"        context \u003d pecan.request.environ[\u0027context\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        tenants \u003d self.central_api.find_tenants(context)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_3210f900","line":34,"in_reply_to":"baada198_06081f90","updated":"2014-07-10 19:45:35.000000000","message":"request is used in the call below. This is the standard pattern all controllers use.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        return self._view.list(context, request, tenants)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, tenant_id):"},{"line_number":43,"context_line":"        \"\"\" Get Tenant \"\"\""},{"line_number":44,"context_line":"        request \u003d pecan.request"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_c6bf07a9","line":41,"updated":"2014-07-10 18:32:52.000000000","message":"do you need text/dns content type here?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        return self._view.list(context, request, tenants)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":41,"context_line":"    @pecan.expose(template\u003dNone, content_type\u003d\u0027text/dns\u0027)"},{"line_number":42,"context_line":"    def get_one(self, tenant_id):"},{"line_number":43,"context_line":"        \"\"\" Get Tenant \"\"\""},{"line_number":44,"context_line":"        request \u003d pecan.request"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f22cc14c","line":41,"in_reply_to":"baada198_c6bf07a9","updated":"2014-07-10 19:45:35.000000000","message":"I\u0027ll remove it.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        request \u003d pecan.request"},{"line_number":45,"context_line":"        context \u003d request.environ[\u0027context\u0027]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        tenant \u003d self.central_api.get_tenant(context, tenant_id)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return self._view.show_detail(context, request, tenant)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_1c214e9f","line":47,"updated":"2014-07-10 18:32:52.000000000","message":"A tenant_id that does not exist returns a 0 count - should it just return a 404 instead?  Can we distinguish between a tenant_id that has 0 domains and an invalid tenant_id?","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        request \u003d pecan.request"},{"line_number":45,"context_line":"        context \u003d request.environ[\u0027context\u0027]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        tenant \u003d self.central_api.get_tenant(context, tenant_id)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return self._view.show_detail(context, request, tenant)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_7220b149","line":47,"in_reply_to":"baada198_1c214e9f","updated":"2014-07-10 19:45:35.000000000","message":"Yes. I\u0027ll change it to a 404.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"}],"designate/api/v2/views/extensions/reports.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class CountsView(base_view.BaseView):"},{"line_number":24,"context_line":"    \"\"\" Model a Quota API response as a python dictionary \"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    _resource_name \u003d \u0027reports\u0027"},{"line_number":27,"context_line":"    _collection_name \u003d \u0027reports\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_461057a8","line":24,"updated":"2014-07-10 18:32:52.000000000","message":"The comment needs to be updated","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class CountsView(base_view.BaseView):"},{"line_number":24,"context_line":"    \"\"\" Model a Quota API response as a python dictionary \"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    _resource_name \u003d \u0027reports\u0027"},{"line_number":27,"context_line":"    _collection_name \u003d \u0027reports\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_d215fde5","line":24,"in_reply_to":"baada198_461057a8","updated":"2014-07-10 19:45:35.000000000","message":"Done","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class TenantsView(base_view.BaseView):"},{"line_number":38,"context_line":"    \"\"\" Model a Quota API response as a python dictionary \"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    _resource_name \u003d \u0027tenants\u0027"},{"line_number":41,"context_line":"    _collection_name \u003d \u0027tenants\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_067d7fe7","line":38,"updated":"2014-07-10 18:32:52.000000000","message":"The comment needs to be updated","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class TenantsView(base_view.BaseView):"},{"line_number":38,"context_line":"    \"\"\" Model a Quota API response as a python dictionary \"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    _resource_name \u003d \u0027tenants\u0027"},{"line_number":41,"context_line":"    _collection_name \u003d \u0027tenants\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f2d3e135","line":38,"in_reply_to":"baada198_067d7fe7","updated":"2014-07-10 19:45:35.000000000","message":"Done","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"}],"designate/central/service.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    return wrapper"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class Service(service.Service):"},{"line_number":73,"context_line":"    RPC_API_VERSION \u003d \u00274.0\u0027"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    target \u003d messaging.Target(version\u003dRPC_API_VERSION)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_26452370","line":72,"updated":"2014-07-10 18:32:52.000000000","message":"The version number needs to be bumped up, as you have added another call","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    return wrapper"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class Service(service.Service):"},{"line_number":73,"context_line":"    RPC_API_VERSION \u003d \u00274.0\u0027"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    target \u003d messaging.Target(version\u003dRPC_API_VERSION)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_52864d14","line":72,"in_reply_to":"baada198_26452370","updated":"2014-07-10 19:45:35.000000000","message":"I don\u0027t know if that\u0027s true for extensions. It only appears if it is enabled under extensions in the config file.","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"1a1312465f3f3564ac2312b5b07897f305ac28c9","unresolved":false,"context_lines":[{"line_number":722,"context_line":"        elif criterion \u003d\u003d \u0027tenants\u0027:"},{"line_number":723,"context_line":"            reports.append({\u0027tenants\u0027: self.count_tenants(context)})"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        return reports"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @transaction"},{"line_number":728,"context_line":"    def touch_domain(self, context, domain_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_d9ee088b","line":725,"updated":"2014-07-10 18:32:52.000000000","message":"An invalid criterion returns an empty list - so if I get something like v2/reports/counts/invalid-attribute, it returns 200 OK with an empty counts","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"},{"author":{"_account_id":8130,"name":"Betsy Luzader","email":"betsy.luzader@rackspace.com","username":"bluzader"},"change_message_id":"b3a89c2a5c69cfd4917443dacf90b406dea799e6","unresolved":false,"context_lines":[{"line_number":722,"context_line":"        elif criterion \u003d\u003d \u0027tenants\u0027:"},{"line_number":723,"context_line":"            reports.append({\u0027tenants\u0027: self.count_tenants(context)})"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        return reports"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    @transaction"},{"line_number":728,"context_line":"    def touch_domain(self, context, domain_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_92c9c57b","line":725,"in_reply_to":"baada198_d9ee088b","updated":"2014-07-10 19:45:35.000000000","message":"changing it to a 404 Report not found","commit_id":"4a1856c0f1fcecba880dc2af53551b25511ae1ff"}]}
