)]}'
{"nova/quota.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            # Initialize remains quotas with the default limits."},{"line_number":131,"context_line":"            if remains:"},{"line_number":132,"context_line":"                modified_quotas[resource.name].update(remains\u003dlimit,"},{"line_number":133,"context_line":"                total_hard_limit\u003d0"},{"line_number":134,"context_line":"                )"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if remains:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_7010ce01","line":133,"updated":"2019-11-07 21:33:30.000000000","message":"Here we have a new key in the modified_quotas dict for total hard limit and it defaults to 0.","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                    if not self._is_unlimited_value("},{"line_number":145,"context_line":"                            modified_quotas[quota.resource][\u0027limit\u0027]):"},{"line_number":146,"context_line":"                        modified_quotas[quota.resource][\u0027remains\u0027] -\u003d \\"},{"line_number":147,"context_line":"                                quota.hard_limit"},{"line_number":148,"context_line":"                    else:"},{"line_number":149,"context_line":"                        # If the limit is unlimited, we can\u0027t use limit for"},{"line_number":150,"context_line":"                        # calculation. Instead, we use total of hard_limit"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_10471a21","line":147,"updated":"2019-11-07 21:33:30.000000000","message":"OK, so this branch is saying if \u0027limit\u0027 is not unlimited, calculate \u0027remains\u0027 by subtracting the resource\u0027s hard limit.","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                        # minimum value of resources."},{"line_number":153,"context_line":"                        key \u003d quota.resource"},{"line_number":154,"context_line":"                        _hard_limit \u003d self._is_unlimited_value("},{"line_number":155,"context_line":"                            quota.hard_limit)"},{"line_number":156,"context_line":"                        _total_hard_limit \u003d self._is_unlimited_value("},{"line_number":157,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027]"},{"line_number":158,"context_line":"                        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_f014beeb","line":155,"range":{"start_line":155,"start_character":28,"end_line":155,"end_character":44},"updated":"2019-11-07 21:33:30.000000000","message":"There seems to be a consistency issue here. On L145 you check unlimited by checking \"modified_quotas[quota.resource][\u0027limit\u0027]\" and here you\u0027re using \"quota.hard_limit\".\n\nI think it would help to create a variable on L144 and reuse it for both cases to reduce confusion.\n\nIf they need to be different, please add code comments explaining why each one needs to be used in each place.","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                            quota.hard_limit)"},{"line_number":156,"context_line":"                        _total_hard_limit \u003d self._is_unlimited_value("},{"line_number":157,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027]"},{"line_number":158,"context_line":"                        )"},{"line_number":159,"context_line":"                        if (not _hard_limit and not _total_hard_limit):"},{"line_number":160,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027] +\u003d \\"},{"line_number":161,"context_line":"                                quota.hard_limit"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_2be0abf8","line":158,"updated":"2019-11-07 21:33:30.000000000","message":"I don\u0027t understand why this needs to be checked for unlimited. On L133, \u0027total_hard_limit\u0027 is initialized to 0. How could it ever be unlimited here?","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                        )"},{"line_number":159,"context_line":"                        if (not _hard_limit and not _total_hard_limit):"},{"line_number":160,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027] +\u003d \\"},{"line_number":161,"context_line":"                                quota.hard_limit"},{"line_number":162,"context_line":"                        else:"},{"line_number":163,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027] \u003d \\"},{"line_number":164,"context_line":"                                self.UNLIMITED_VALUE"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_abbd7bd8","line":161,"updated":"2019-11-07 21:33:30.000000000","message":"Note to self: this is saying if hard_limit is not unlimited and total_hard_limit is not unlimited, then use hard_limit as the total_hard_limit.","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"978015cf86a709cdb22f3107009b35826e6abbca","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                                quota.hard_limit"},{"line_number":162,"context_line":"                        else:"},{"line_number":163,"context_line":"                            modified_quotas[key][\u0027total_hard_limit\u0027] \u003d \\"},{"line_number":164,"context_line":"                                self.UNLIMITED_VALUE"},{"line_number":165,"context_line":"        return modified_quotas"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def _get_usages(self, context, resources, project_id, user_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_d0bbc20c","line":164,"updated":"2019-11-07 21:33:30.000000000","message":"I think all of this code would be better off in a separate helper method. There\u0027s a lot here and it\u0027s indented a lot and makes it harder to read and understand.","commit_id":"86e91a95995ee79ad63e0fdb9b0b176057dc0d0e"}]}
