import os from Component import CPage from Component.notify import NotifyComponent from ZPTKit.zptcomponent import ZPTComponent from paste.deploy import CONFIG from paste.url import URL # -*- Extra imports: -*- __all__ = ['SitePage', 'CONFIG'] class SitePage(CPage): components = [ ZPTComponent([os.path.join(os.path.dirname(__file__), 'templates')]), NotifyComponent(), # -*- Extra components: -*- ] def title(self): return self.options.get('title', CPage.title(self)) def awake(self, trans): CPage.awake(self, trans) env = trans.request().environ() self.baseURL = env['todo.base_url'] self.baseStaticURL = CONFIG.get('base_static_url', self.baseURL + '/static') # Add application-wide setup routines here self.setup() def setup(self): # This method should only be overridden by servlets, not # abstract classes (also teardown()). pass def sleep(self, trans): self.teardown() CPage.sleep(self, trans) def teardown(self): pass def writeHTML(self): self.writeTemplate() def preAction(self, action): self.setView('writeContent') def postAction(self, action): if self.view() is not None: self.writeHTML()