aces.utils module

aces.utils.capture_output() Generator[StringIO, None, None][source]

A context manager to capture stdout output.

This can eventually be eliminated if https://github.com/kayjan/bigtree/issues/285 is resolved.

Examples

>>> with capture_output() as captured:
...     print("Hello, world!")
>>> captured.getvalue().strip()
'Hello, world!'
aces.utils.log_tree(node: Node) None[source]

Logs the tree structure using logging.info.

aces.utils.parse_timedelta(time_str: str | None = None) timedelta[source]

Parse a time string and return a timedelta object.

Using time expression parser: https://github.com/wroberts/pytimeparse

Parameters:
time_str: str | None = None

The time string to parse.

Returns:

The parsed timedelta object.

Return type:

datetime.timedelta

Examples

>>> parse_timedelta("1 days")
datetime.timedelta(days=1)
>>> parse_timedelta("1 day")
datetime.timedelta(days=1)
>>> parse_timedelta("1 days 2 hours 3 minutes 4 seconds")
datetime.timedelta(days=1, seconds=7384)
>>> parse_timedelta('1 day, 14:20:16')
datetime.timedelta(days=1, seconds=51616)
>>> parse_timedelta('365 days')
datetime.timedelta(days=365)
>>> parse_timedelta()
datetime.timedelta(0)
>>> parse_timedelta("")
datetime.timedelta(0)
>>> parse_timedelta(None)
datetime.timedelta(0)