annotate V1/temp.py @ 8:11dee9cbaacc

creation of V3
author DaveM
date Thu, 21 Dec 2017 11:47:51 +0000
parents c2898c2a3cc6
children
rev   line source
DaveM@3 1 def parsePartnerDOB(dob):
DaveM@3 2 dob_ = dob.split('/')
DaveM@3 3 if(len(dob_) != 3):
DaveM@3 4 # deal with no /'s
DaveM@3 5 try:
DaveM@3 6 d = int(dob_[0])
DaveM@3 7 m = int(dob_[1])
DaveM@3 8 y = int(dob_[2])
DaveM@3 9 if y < 100:
DaveM@3 10 y = y + 1900
DaveM@3 11 if(d > 31 or m > 12 or y > 2017 or y < 1900):
DaveM@3 12 print 'error with DOB '+d+'/'+m+'/'+y
DaveM@3 13 except TypeError:
DaveM@3 14 return None
DaveM@3 15 return (d,m,y)
DaveM@3 16
DaveM@3 17 def monthStringToNum(s):
DaveM@3 18 m = {'jan':1,'feb':2,
DaveM@3 19 'mar':3,'apr':4,'may':5,
DaveM@3 20 'jun':6,'jul':7,'aug':8,
DaveM@3 21 'sep':9,'oct':10,'nov':11,
DaveM@3 22 'dec':12}
DaveM@3 23 s_ = string.strip()[:3].lower()
DaveM@3 24 try:
DaveM@3 25 out = m[s]
DaveM@3 26 return out
DaveM@3 27 except:
DaveM@3 28 raise ValueError('Not a month')
DaveM@3 29
DaveM@3 30 def parseDOB(d,m,y):
DaveM@3 31 d = int(d.strip())
DaveM@3 32 y = int(y.strip())
DaveM@3 33 try:
DaveM@3 34 m = monthStringToNum(m.strip())
DaveM@3 35 except ValueError:
DaveM@3 36 m = int(m.strip())
DaveM@3 37 if(y < 100):
DaveM@3 38 y = y + 1900
DaveM@3 39 return (d,m,y)
DaveM@3 40
DaveM@3 41 def parseTOB(T):
DaveM@3 42 timeFlat = None
DaveM@3 43 try:
DaveM@3 44 T = T.lower().strip()
DaveM@3 45 if 'am' in T:
DaveM@3 46 timeFlag = 0
DaveM@3 47 T.replace('am','')
DaveM@3 48 if 'pm' in T:
DaveM@3 49 timeFlag = 1
DaveM@3 50 T.replace('pm','')
DaveM@3 51 t.strip()
DaveM@3 52 if ':' in T:
DaveM@3 53 T.split(':')
DaveM@3 54 H = int(T[0])
DaveM@3 55 M = int(T[1])
DaveM@3 56 elif '.' in T:
DaveM@3 57 T.split('.')
DaveM@3 58 H = int(T[0])
DaveM@3 59 M = int(T[1])
DaveM@3 60 else:
DaveM@3 61 int(T)
DaveM@3 62 if T < 24 :
DaveM@3 63 H = T
DaveM@3 64 M = 0
DaveM@3 65 elif T > 100:
DaveM@3 66 H = T/100
DaveM@3 67 M = T%100
DaveM@3 68 if timeFlag is not None:
DaveM@3 69 if timeFlag == 0:
DaveM@3 70 H = H%12
DaveM@3 71 else:
DaveM@3 72 H = H%12 + 12
DaveM@3 73 except ValueError:
DaveM@3 74 H = 12
DaveM@3 75 M = 00
DaveM@3 76 return (H,M)
DaveM@3 77
DaveM@3 78 def regulateData(dataDict):
DaveM@3 79 p_DOBQ = "What is your partner's date of birth? Please use the format DD/MM/YYYY (for example, 29/03/1981)."
DaveM@3 80 p_TOBQ = "At what exact time were your partner born? Please use the format HHMM (for example, 2204)."
DaveM@3 81 DOB_DQ = "Which day (numeric) have you been born?"
DaveM@3 82 DOB_MQ = "Which month have you been born?"
DaveM@3 83 DOB_YQ = "Year Of Birth"
DaveM@3 84 TOB_Q = "At what exact time were you born? Please use the format HHMM (for example, 2204)."
DaveM@3 85 dataDict['DOB'] = parseDOB(dataDict[DOB_DQ],dataDict[DOB_MQ],dataDict[DOB_YQ])
DaveM@3 86 dataDict['TOB'] = parseTOB(dataDict[TOB_Q])
DaveM@3 87 dataDict['pDOB'] = parsePartnerDOB(dataDict[p_DOBQ])
DaveM@3 88 dataDict['pTOB'] = parseTOB(dataDict[p_TOBQ])
DaveM@3 89
DaveM@3 90 return dataDict