## Script (Python) "fillMetadata" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=REQUEST ##title= ## # $Id: fillMetadata.py 5202 2010-05-23 04:26:23Z henrik $ """ """ request = REQUEST wftool = context.portal_workflow mtool = context.portal_membership member = mtool.getAuthenticatedMember() roles = member.getRolesInContext(context) retcat = context.returning_import scat = context.students_catalog students_folder = context.portal_url.getPortalObject().campus.students if str(member) not in ('admin',): return count = 0 students = scat() #from Products.zdb import set_trace;set_trace() for sbrain in students: student = getattr(students_folder,sbrain.id,None) if student is None: continue per = getattr(student,'personal',None) if per is None: continue #from Products.zdb import set_trace;set_trace() per_doc = per.getContent() marit_stat = per_doc.marit_stat if marit_stat == True: ms = 'married' elif marit_stat == False: ms = 'single' else: ms = 'undefined' fn = per_doc.firstname mn = per_doc.middlename ln = per_doc.lastname clear = getattr(student,'clearance',None) if clear is None: continue birthday = clear.getContent().birthday if birthday: bd = birthday else: bd = '' context.students_catalog.modifyRecord(id = sbrain.id,marit_stat = ms, date_of_birth = bd,firstname = fn, middlename = mn,lastname = ln) return 'ready'