JOJ3-config-generator/joj3_config_generator/models/common.py
张泊明518370910136 8164e75058
All checks were successful
build / build (pull_request) Successful in 2m29s
build / build (push) Successful in 2m31s
feat: time & mem consts and defaults
2025-03-02 03:38:16 -05:00

20 lines
605 B
Python

from typing import Union
import humanfriendly
class Memory(int):
def __new__(cls, value: Union[str, int]) -> "Memory":
if isinstance(value, str):
parsed = humanfriendly.parse_size(value, binary=True)
return super().__new__(cls, parsed)
return super().__new__(cls, value)
class Time(int):
def __new__(cls, value: Union[str, int]) -> "Time":
if isinstance(value, str):
parsed = humanfriendly.parse_timespan(value) * 1_000_000_000 # ns
return super().__new__(cls, round(parsed))
return super().__new__(cls, value)