)]}'
{"openstack_dashboard/api/neutron.py":[{"author":{"_account_id":11885,"name":"Ying Zuo","email":"yingzuo4@gmail.com","username":"yingzuo"},"change_message_id":"bb4f1a888164d749356c1a6da8dc8cb267f88def","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @profiler.trace"},{"line_number":252,"context_line":"    def list(self, **params):"},{"line_number":253,"context_line":"        tenant_id \u003d params.pop(\u0027tenant_id\u0027, self.request.user.tenant_id)"},{"line_number":254,"context_line":"        return self._list(tenant_id\u003dtenant_id, **params)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def _sg_name_dict(self, sg_id, rules):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfeb2761_3791754f","line":253,"updated":"2017-04-06 05:57:02.000000000","message":"I don\u0027t think we should remove the id from request.user.","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"47d86d1a1cb6874f943ddbc469a8959b95226fa4","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    @profiler.trace"},{"line_number":252,"context_line":"    def list(self, **params):"},{"line_number":253,"context_line":"        tenant_id \u003d params.pop(\u0027tenant_id\u0027, self.request.user.tenant_id)"},{"line_number":254,"context_line":"        return self._list(tenant_id\u003dtenant_id, **params)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def _sg_name_dict(self, sg_id, rules):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_9f21d6b7","line":253,"in_reply_to":"dfeb2761_3791754f","updated":"2017-04-06 17:37:25.000000000","message":"It does not remove the id from request.user. This just pops \u0027tenant_id\u0027 from \u0027params\u0027 dict. self.request.user.tenant_id is used as the default value if \u0027params\u0027 dict does not contain \u0027tenant_id\u0027 key. For more detail, you can read the python documentation on a dictionary operation.","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"}],"openstack_dashboard/api/nova.py":[{"author":{"_account_id":11885,"name":"Ying Zuo","email":"yingzuo4@gmail.com","username":"yingzuo"},"change_message_id":"bb4f1a888164d749356c1a6da8dc8cb267f88def","unresolved":false,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def list(self, **params):"},{"line_number":271,"context_line":"        if params:"},{"line_number":272,"context_line":"            raise ValueError(\u0027Nova security group API does not support \u0027"},{"line_number":273,"context_line":"                             \u0027query parameters.\u0027)"},{"line_number":274,"context_line":"        return [SecurityGroup(g) for g"},{"line_number":275,"context_line":"                in self.client.security_groups.list()]"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_3c743535","line":272,"updated":"2017-04-06 05:57:02.000000000","message":"List security groups API to be more appropriate here?","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"47d86d1a1cb6874f943ddbc469a8959b95226fa4","unresolved":false,"context_lines":[{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def list(self, **params):"},{"line_number":271,"context_line":"        if params:"},{"line_number":272,"context_line":"            raise ValueError(\u0027Nova security group API does not support \u0027"},{"line_number":273,"context_line":"                             \u0027query parameters.\u0027)"},{"line_number":274,"context_line":"        return [SecurityGroup(g) for g"},{"line_number":275,"context_line":"                in self.client.security_groups.list()]"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_da82cc4f","line":272,"in_reply_to":"bff0334d_3c743535","updated":"2017-04-06 17:37:25.000000000","message":"Done","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"}],"openstack_dashboard/dashboards/project/networks/ports/views.py":[{"author":{"_account_id":11885,"name":"Ying Zuo","email":"yingzuo4@gmail.com","username":"yingzuo"},"change_message_id":"bb4f1a888164d749356c1a6da8dc8cb267f88def","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @memoized.memoized_method"},{"line_number":118,"context_line":"    def get_security_groups(self, sg_ids):"},{"line_number":119,"context_line":"        # Avoid extra API calls if no security group is associated."},{"line_number":120,"context_line":"        if not sg_ids:"},{"line_number":121,"context_line":"            return []"},{"line_number":122,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_3f56672b","line":119,"updated":"2017-04-06 05:57:02.000000000","message":"I think it\u0027s cleaner to assign the empty list to security_groups here and only call the api when sg_ids is not None.","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"47d86d1a1cb6874f943ddbc469a8959b95226fa4","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @memoized.memoized_method"},{"line_number":118,"context_line":"    def get_security_groups(self, sg_ids):"},{"line_number":119,"context_line":"        # Avoid extra API calls if no security group is associated."},{"line_number":120,"context_line":"        if not sg_ids:"},{"line_number":121,"context_line":"            return []"},{"line_number":122,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff0334d_5a60fcce","line":119,"in_reply_to":"bff0334d_3f56672b","updated":"2017-04-06 17:37:25.000000000","message":"A matter of taste? Fast-exit vs if-clause. By using fast exit, we can avoid deeper indent level and this is the reason I used this. Does the current one lose readability?","commit_id":"29ce88d1837643537c4b820c640a995ee6e62685"}]}
