示例#1
0
	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 );
示例#2
0
文件: CModule.py 项目: noughts/pyii
	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];
示例#3
0
	def renderFile( self, viewFile, data=None ):
		Pyii.write( template.render( viewFile, data ) );