diff options
| author | Scott <[email protected]> | 2022-02-02 11:09:18 -0800 |
|---|---|---|
| committer | Scott <[email protected]> | 2022-02-02 11:09:18 -0800 |
| commit | 5317c50ce7a96a37acfab3800c0935580766dbbf (patch) | |
| tree | 2da99b27342a873e0a8fe0e3d49fa1bec1637e79 /conversion_utils.py | |
| parent | 1ce11b3c28d175b6dcbfea9cf6367081f049c5a9 (diff) | |
mypy clean!
Diffstat (limited to 'conversion_utils.py')
| -rw-r--r-- | conversion_utils.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/conversion_utils.py b/conversion_utils.py index 684edc0..8eaecd5 100644 --- a/conversion_utils.py +++ b/conversion_utils.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 -from numbers import Number -from typing import Callable +from typing import Callable, SupportsFloat import constants @@ -38,10 +37,10 @@ class Converter(object): self.from_canonical_f = from_canonical self.unit = unit - def to_canonical(self, n: Number) -> Number: + def to_canonical(self, n: SupportsFloat) -> SupportsFloat: return self.to_canonical_f(n) - def from_canonical(self, n: Number) -> Number: + def from_canonical(self, n: SupportsFloat) -> SupportsFloat: return self.from_canonical_f(n) def unit_suffix(self) -> str: @@ -97,7 +96,7 @@ conversion_catalog = { } -def convert(magnitude: Number, from_thing: str, to_thing: str) -> float: +def convert(magnitude: SupportsFloat, from_thing: str, to_thing: str) -> float: src = conversion_catalog.get(from_thing, None) dst = conversion_catalog.get(to_thing, None) if src is None or dst is None: @@ -107,7 +106,9 @@ def convert(magnitude: Number, from_thing: str, to_thing: str) -> float: return _convert(magnitude, src, dst) -def _convert(magnitude: Number, from_unit: Converter, to_unit: Converter) -> float: +def _convert( + magnitude: SupportsFloat, from_unit: Converter, to_unit: Converter +) -> float: canonical = from_unit.to_canonical(magnitude) converted = to_unit.from_canonical(canonical) return float(converted) |
