Listing 3: Zope Server: External Method “getProjects”
# find all published FHSOProjects
cmfprojects = context.queryCatalogForProjects()
projects = []
for cmfproject in cmfprojects:
project_struct = {}
project = cmfproject.getObject()
project_struct['name'] = project.title
project_struct['projectnr'] = project.projectnr
if (project.division.find(':')>0):
project_struct['division'] = project.division[:project.division.find(':')]
else:
project_struct['division'] = project.division
project_struct['projecttype'] = project.projecttype
project_struct['projectleader'] = project.projectleader[:project.projectleader.rfind(',')]
if len(project.methodfinance)==0:
project_struct['methodfinance'] = "-"
else:
project_struct['methodfinance'] = project.methodfinance
project_struct['review_state'] = cmfproject.review_state
project_struct['process'] = project.process[:project.process.find('/')]
projects.append(project_struct)
return projects
|