mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-18 04:02:35 +03:00
update the throtting_duration_parser.py returning tuple instead of dict
This commit is contained in:
parent
e4a8a1e08b
commit
f62927c1df
|
@ -103,7 +103,7 @@ class SimpleRateThrottle(BaseThrottle):
|
|||
if rate is None:
|
||||
return (None, None)
|
||||
num, period = rate.split('/')
|
||||
quantity, unit = parse_quantity_and_unit(period).values()
|
||||
quantity, unit = parse_quantity_and_unit(period)
|
||||
num_requests = int(num)
|
||||
duration = {'s': 1, 'm': 60, 'h': 3600, 'd': 86400}[unit[0]]
|
||||
total_duration = duration * int(quantity)
|
||||
|
|
|
@ -7,16 +7,15 @@ def parse_quantity_and_unit(quantity_unit_string):
|
|||
|
||||
Returns:
|
||||
dict: A dictionary containing the parsed quantity and unit, with keys 'quantity' and 'unit'.
|
||||
If the input string contains only a unit (e.g., "ms"), quantity will be set to 1.
|
||||
If the input string contains only a unit (e.g., "m"), quantity will be set to 1.
|
||||
"""
|
||||
i = 0
|
||||
quantity_unit_dict = {}
|
||||
while i < len(quantity_unit_string) and quantity_unit_string[i].isnumeric():
|
||||
i += 1
|
||||
|
||||
if i == 0:
|
||||
quantity_unit_dict['quantity'] = 1
|
||||
quantity_unit_dict['unit'] = quantity_unit_string
|
||||
return (1, quantity_unit_string)
|
||||
else:
|
||||
quantity_unit_dict['quantity'] = int(quantity_unit_string[:i])
|
||||
quantity_unit_dict['unit'] = quantity_unit_string[i:]
|
||||
return quantity_unit_dict
|
||||
quantity = int(quantity_unit_string[:i])
|
||||
unit = quantity_unit_string[i:]
|
||||
return (quantity, unit)
|
||||
|
|
Loading…
Reference in New Issue
Block a user