annotate V3/compatibility.py @ 20:9a966a29ae30

update timesheet
author DaveM
date Tue, 06 Mar 2018 17:25:58 +0000
parents 18e337b2550d
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