Skip to content
Snippets Groups Projects
Unverified Commit a1901abd authored by Patrick Cloke's avatar Patrick Cloke Committed by GitHub
Browse files

Add documentation and type hints to parse_duration. (#9432)

parent c4a55ac4
Branches
Tags
No related merge requests found
Add documentation and type hints to `parse_duration`.
...@@ -21,7 +21,7 @@ import os ...@@ -21,7 +21,7 @@ import os
from collections import OrderedDict from collections import OrderedDict
from hashlib import sha256 from hashlib import sha256
from textwrap import dedent from textwrap import dedent
from typing import Any, Iterable, List, MutableMapping, Optional from typing import Any, Iterable, List, MutableMapping, Optional, Union
import attr import attr
import jinja2 import jinja2
...@@ -147,7 +147,20 @@ class Config: ...@@ -147,7 +147,20 @@ class Config:
return int(value) * size return int(value) * size
@staticmethod @staticmethod
def parse_duration(value): def parse_duration(value: Union[str, int]) -> int:
"""Convert a duration as a string or integer to a number of milliseconds.
If an integer is provided it is treated as milliseconds and is unchanged.
String durations can have a suffix of 's', 'm', 'h', 'd', 'w', or 'y'.
No suffix is treated as milliseconds.
Args:
value: The duration to parse.
Returns:
The number of milliseconds in the duration.
"""
if isinstance(value, int): if isinstance(value, int):
return value return value
second = 1000 second = 1000
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment