commit c891d8b2d3b1dabbca5aee54358f9b1599af4a46 (tree)
parent 9810896325b3ef39046734fe7e5214e50a8aa258
Author: Motiejus Jakštys <desired.mta@gmail.com>
Date: Thu, 21 Nov 2019 11:13:42 +0200
add deg.py
Diffstat:
1 file changed, 22 insertions(+), 0 deletions(-)
diff --git a/misc/deg.py b/misc/deg.py
@@ -0,0 +1,22 @@
+from decimal import Decimal as Dec
+
+Deg = namedtuple('Deg', ['hh', 'mm', 'ss'])
+
+def guess(inp):
+ if isinstance(inp, Dec):
+ return inp
+
+ if '-' in instr:
+ deg, mm, ss = instr.split('-')
+ ddeg, dmm, dss = Dec(deg), Dec(mm), Dec(ss)
+ return deg + dmm/60 + dss/3600
+ else:
+ return Dec(instr)
+
+def hms(deg):
+ assert isinstance(deg, Dec)
+ pdeg, pmm = divmod(deg, 1)
+ pmm = pmm * Dec(60)
+ pmm, pss = divmod(pmm, 1)
+ pss = pss * Dec(60)
+ return Deg(pdeg, pmm, pss)