Mercurial > hg > horiscopes
annotate V3/compatibility.py @ 12:18e337b2550d
timesheet and notes from meeting
author | DaveM |
---|---|
date | Thu, 01 Feb 2018 17:32:49 +0000 |
parents | |
children |
rev | line source |
---|---|
DaveM@12 | 1 #!/usr/bin/env python |
DaveM@12 | 2 |
DaveM@12 | 3 import csv |
DaveM@12 | 4 |
DaveM@12 | 5 |
DaveM@12 | 6 def readFile(filename): |
DaveM@12 | 7 text = [] |
DaveM@12 | 8 with open(filename) as fp: |
DaveM@12 | 9 line = fp.readline() |
DaveM@12 | 10 text.append(line.strip()) |
DaveM@12 | 11 while line: |
DaveM@12 | 12 line = fp.readline() |
DaveM@12 | 13 text.append(line.strip()) |
DaveM@12 | 14 return text |
DaveM@12 | 15 |
DaveM@12 | 16 def parseCompatDef(filename): |
DaveM@12 | 17 comList = readFile(filename) |
DaveM@12 | 18 compat = {} |
DaveM@12 | 19 for com in comList: |
DaveM@12 | 20 c = com.split(',') |
DaveM@12 | 21 # print c |
DaveM@12 | 22 if len(c) == 4: |
DaveM@12 | 23 if len(c[1]) > 1: |
DaveM@12 | 24 for subset in c[1].split(' '): |
DaveM@12 | 25 key = sorted((c[0],c[2])) |
DaveM@12 | 26 key.append(subset) |
DaveM@12 | 27 compat[tuple(key)] = c[3] |
DaveM@12 | 28 elif len(c[1]) == 0 : |
DaveM@12 | 29 key = (c[0],c[2]) |
DaveM@12 | 30 compat[key] = c[3] |
DaveM@12 | 31 return compat |
DaveM@12 | 32 # pdb.set_trace() |
DaveM@12 | 33 |
DaveM@12 | 34 def applyCompatScore(people,rules): |
DaveM@12 | 35 # ruleKeys = rules.keys() |
DaveM@12 | 36 for person in people: |
DaveM@12 | 37 print "newPerson: " + str(person['ID']) |
DaveM@12 | 38 person['score'] = 0 |
DaveM@12 | 39 for pRule in person.keys(): |
DaveM@12 | 40 if pRule in rules: |
DaveM@12 | 41 person['score'] += int(rules[pRule]) |
DaveM@12 | 42 print pRule, rules[pRule] |
DaveM@12 | 43 print person['score'] |
DaveM@12 | 44 |