diff --git a/misc/deg.py b/misc/deg.py new file mode 100644 index 0000000..8012f1d --- /dev/null +++ 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)