import grok from zope.app.authentication.authentication import PluggableAuthentication from zope.app.security.interfaces import IAuthentication from zope.component import createObject from waeup.interfaces import IUniversity, ICSVDataReceivers from waeup.authentication import setup_authentication from waeup.datacenter import DataCenter from waeup.users import UserContainer class University(grok.Application, grok.Container): """A university. """ grok.implements(IUniversity, ICSVDataReceivers) # Setup authentication for this app. Note: this is only # initialized, when a new instance of this app is created. grok.local_utility( PluggableAuthentication, provides = IAuthentication, setup = setup_authentication) def __init__(self, name=u'Sample University', **kw): super(University, self).__init__(**kw) self.name = name self.setup() def setup(self): self['students'] = createObject(u'waeup.StudentContainer') self['hostels'] = createObject(u'waeup.HostelContainer') self['faculties'] = createObject(u'waeup.FacultyContainer') self['users'] = UserContainer() self['datacenter'] = DataCenter()