All pastes #985741 Raw Edit

Miscellany

public python v1 · immutable
·published 2008-04-15 08:58 UTC
rendered paste body
import initfrom hiobas.connection import *from hiobas.model.mapper import *from hiobas.model.models import *from fs.connection import *from fs.model.mapper import *from fs.model.models import *import datetime#First make dict of persons from FS and SB, keyed on (fnr, pnr):fsp = dict([(person.getKey(), person) for person in fssession.query(FSPerson).all()])hbp = dict([(person.getFSkey(), person) for person in hbsession.query(HBStud).all()])#Now, we only need to look at those common to both systems:fsset = set(fsp)sbset = set(hbp)intersect = fsset.intersection(sbset)#Function computes diff tupledef maketuple(key):        fsperson = fsp[key]        sbperson = sbp[key]        fnr = key[0]        pnr = key[1]        fspin = fsperson.personreg.personkode        sbpin = sbperson.pinkode        active = (fsperson.studprogstudent.studentstatkode == 'AKTIV' or fsperson.studprogstudent.studentstatkode == 'PERMISJON') and fsperson.kullklassestudent.status_aktiv == 'J' and fsperson.studprogstudent.dato_studierett_gyldig_til > datetime.date.today()        equal = fspin == sbpin#Now, the fun part: For each common key, map out both pins, active status.#Format tuple (fnr, pnr, fspin, sbpin, active, equal flag)diff = {}for key in intersect:        diff[key] = maketuple(key)