comparison V4/runme.py @ 16:b11cff4b7f83

implement compatibility scores
author DaveM
date Mon, 05 Mar 2018 14:22:09 +0000
parents 50a95089414d
children ae220e89cb3a
comparison
equal deleted inserted replaced
15:50a95089414d 16:b11cff4b7f83
53 def savePick(filename,data): 53 def savePick(filename,data):
54 with open(filename, 'wb') as handle: 54 with open(filename, 'wb') as handle:
55 pickle.dump(data,handle) 55 pickle.dump(data,handle)
56 56
57 def parseHoriscope(people,saveFile): 57 def parseHoriscope(people,saveFile):
58 horiscopeList = []
59 for person in people: 58 for person in people:
60 issue = person.identifyIssues() 59 issue = person.identifyIssues()
61 if issue is not None: 60 if issue is not None:
62 print 'SKIPPING person '+ person.id + ' error with ' + issue 61 print 'SKIPPING person '+ person.id + ' error with ' + issue
63 else: 62 else:
67 person.horiscope = parsePage(person.resp) 66 person.horiscope = parsePage(person.resp)
68 # person.horiscope.printPositions() 67 # person.horiscope.printPositions()
69 if saveFile is not None: 68 if saveFile is not None:
70 savePick(saveFile,people) 69 savePick(saveFile,people)
71 70
72 def testMain(): 71 # def testMain():
73 restartDataFile = 1 72 # pickFile = 'outData.pick'
74 if(restartDataFile): 73 # restartDataFile = 0
75 pickFile = 'outData.pick' 74 # if(restartDataFile):
76 # people = makePeople('individuals.csv') 75 # # people = makePeople('individuals.csv')
77 # savePick(pickFile,people) 76 # # savePick(pickFile,people)
78 people = loadPick(pickFile) 77 # people = loadPick(pickFile)
79 parseSaveFile = pickFile.split('.')[0]+'_collect.pick' 78 # parseSaveFile = pickFile.split('.')[0]+'_collect.pick'
80 parseHoriscope(people,parseSaveFile) 79 # parseHoriscope(people,parseSaveFile)
81 else: 80 # else:
82 people = loadPick('onlineDatacollect.pick') 81 # people = loadPick('outData_collect.pick')
83 for p in people: 82 # comp = syn.compatibility()
84 if p.horiscope is None: 83 # comp.parseCompatRules('compatibilityRules.csv')
85 print p.id 84 # for person in people:
86 else: 85 # if person.issue is None:
87 p.horiscope.calcAllAspects() 86 # person.score = comp.calcCompatibility(person.horiscope)
88 87 # if person.score is None:
89 # horiscopeData = presentResults(parseSaveFile) 88 # person.issue = 'None Planet Locations'
90 # comRules = comp.parseCompatDef('compatibilityRules.csv') 89 # else:
91 # applyCompatScore(horiscopeData,rules) 90 # print person.id,person.score
91 # pdb.set_trace()
92 92
93 def _main(): 93 def _main():
94 pickFile = 'outData.pick' 94 pickFile = 'outData.pick'
95 # people = dict()
96 if not os.path.exists(pickFile): 95 if not os.path.exists(pickFile):
97 print 'reParse file'
98 people = makePeople('individuals.csv') 96 people = makePeople('individuals.csv')
99 savePick(pickFile,people) 97 savePick(pickFile,people)
100 else: 98 else:
101 print 'read in ' + pickFile
102 people = loadPick(pickFile) 99 people = loadPick(pickFile)
103 parseSaveFile = pickFile.split('.')[0]+'_collect.pick' 100 parseSaveFile = pickFile.split('.')[0]+'_collect.pick'
104 parseHoriscope(people,parseSaveFile) 101 if not os.path.exists(parseSaveFile):
105 horiscopeData = presentResults(parseSaveFile) 102 parseHoriscope(people,parseSaveFile)
106 comRules = comp.parseCompatDef('compatibilityRules.csv') 103 else:
107 applyCompatScore(horiscopeData,rules) 104 people = loadPick(parseSaveFile)
105 comp = syn.compatibility()
106 comp.parseCompatRules('compatibilityRules.csv')
107 for person in people:
108 person.score = None
109 if person.issue is None:
110 person.score = comp.calcCompatibility(person.horiscope)
111 if person.score is None:
112 person.issue = 'None Planet Locations'
113 savePick('fullResults.pick',people)
108 114
109 if __name__ == "__main__": 115 if __name__ == "__main__":
110 testMain() 116 _main()