projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add another profanity.
[python_utils.git]
/
conversion_utils.py
diff --git
a/conversion_utils.py
b/conversion_utils.py
index 684edc0a9116aa827db2c7c83a52de10dbbba73b..8e64a875c1ad4e3d89eeee33205693204afd5d87 100644
(file)
--- a/
conversion_utils.py
+++ b/
conversion_utils.py
@@
-1,7
+1,7
@@
#!/usr/bin/env python3
#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
-from numbers import Number
-from typing import Callable
+from typing import Callable, SupportsFloat
import constants
import constants
@@
-38,10
+38,10
@@
class Converter(object):
self.from_canonical_f = from_canonical
self.unit = unit
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)
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:
return self.from_canonical_f(n)
def unit_suffix(self) -> str:
@@
-97,7
+97,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:
src = conversion_catalog.get(from_thing, None)
dst = conversion_catalog.get(to_thing, None)
if src is None or dst is None:
@@
-107,7
+107,7
@@
def convert(magnitude: Number, from_thing: str, to_thing: str) -> float:
return _convert(magnitude, src, dst)
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)
canonical = from_unit.to_canonical(magnitude)
converted = to_unit.from_canonical(canonical)
return float(converted)