Mercurial > hg > horiscopes
diff V1/temp.py @ 3:c2898c2a3cc6
develop csv data parse - need to test
author | DaveM |
---|---|
date | Sun, 10 Dec 2017 17:25:53 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/V1/temp.py Sun Dec 10 17:25:53 2017 +0000 @@ -0,0 +1,90 @@ +def parsePartnerDOB(dob): + dob_ = dob.split('/') + if(len(dob_) != 3): + # deal with no /'s + try: + d = int(dob_[0]) + m = int(dob_[1]) + y = int(dob_[2]) + if y < 100: + y = y + 1900 + if(d > 31 or m > 12 or y > 2017 or y < 1900): + print 'error with DOB '+d+'/'+m+'/'+y + except TypeError: + return None + return (d,m,y) + +def monthStringToNum(s): + m = {'jan':1,'feb':2, + 'mar':3,'apr':4,'may':5, + 'jun':6,'jul':7,'aug':8, + 'sep':9,'oct':10,'nov':11, + 'dec':12} + s_ = string.strip()[:3].lower() + try: + out = m[s] + return out + except: + raise ValueError('Not a month') + +def parseDOB(d,m,y): + d = int(d.strip()) + y = int(y.strip()) + try: + m = monthStringToNum(m.strip()) + except ValueError: + m = int(m.strip()) + if(y < 100): + y = y + 1900 + return (d,m,y) + +def parseTOB(T): + timeFlat = None + try: + T = T.lower().strip() + if 'am' in T: + timeFlag = 0 + T.replace('am','') + if 'pm' in T: + timeFlag = 1 + T.replace('pm','') + t.strip() + if ':' in T: + T.split(':') + H = int(T[0]) + M = int(T[1]) + elif '.' in T: + T.split('.') + H = int(T[0]) + M = int(T[1]) + else: + int(T) + if T < 24 : + H = T + M = 0 + elif T > 100: + H = T/100 + M = T%100 + if timeFlag is not None: + if timeFlag == 0: + H = H%12 + else: + H = H%12 + 12 + except ValueError: + H = 12 + M = 00 + return (H,M) + +def regulateData(dataDict): + p_DOBQ = "What is your partner's date of birth? Please use the format DD/MM/YYYY (for example, 29/03/1981)." + p_TOBQ = "At what exact time were your partner born? Please use the format HHMM (for example, 2204)." + DOB_DQ = "Which day (numeric) have you been born?" + DOB_MQ = "Which month have you been born?" + DOB_YQ = "Year Of Birth" + TOB_Q = "At what exact time were you born? Please use the format HHMM (for example, 2204)." + dataDict['DOB'] = parseDOB(dataDict[DOB_DQ],dataDict[DOB_MQ],dataDict[DOB_YQ]) + dataDict['TOB'] = parseTOB(dataDict[TOB_Q]) + dataDict['pDOB'] = parsePartnerDOB(dataDict[p_DOBQ]) + dataDict['pTOB'] = parseTOB(dataDict[p_TOBQ]) + + return dataDict \ No newline at end of file