def createController( self, route, owner=None ): if( owner is None ): owner = self; route = route.strip( "/" ); if( route=="" ): route = self.defaultController; basePath = None; caseSensitive = self.getUrlManager().caseSensitive; route += "/"; while( route.find("/") >= 0 ): pos = route.find( "/" ); id = route[0:pos]; route = route[pos+1:len(route)]; if( basePath is None ): if( id in owner.controllerMap ): if( owner==self ): _r1 = Pyii.createComponent( owner.controllerMap[id], id, None ); else: _r1 = Pyii.createComponent( owner.controllerMap[id], id, owner ); _r2 = self.parseActionParams( route ); return [_r1, _r2]; module = owner.getControllerPath(); if( module is not None ): return self.createController( route, module );
def getComponent( self, id, createIfNull=True ): if( id in self._components ): return self._components[id]; elif (id in self._componentConfig) and (createIfNull==True): config = self._componentConfig[id]; del self._componentConfig[id]; if (not "enabled" in config) or (config["enabled"]): Pyii.trace( "Loading "+ id +" application component", 'system.web.CModule' ); if( "enabled" in config ): del config["enabled"]; component = Pyii.createComponent( config ); component.init(); self._components[id] = component; return self._components[id];
def renderFile( self, viewFile, data=None ): Pyii.write( template.render( viewFile, data ) );