Пример #1
0
def setup_app(command, conf, vars):
	"""Place any commands to setup sparta here"""
	# Don't reload the app if it was loaded under the testing environment
	if not pylons.test.pylonsapp:
		load_environment(conf.global_conf, conf.local_conf)

	# Create the tables if they don't already exist
	Base.metadata.create_all(bind=Session.bind)
Пример #2
0
def make_app(global_conf, full_stack=True, static_files=True, **app_conf):
	"""Create a Pylons WSGI application and return it

	``global_conf``
		The inherited configuration for this application. Normally from
		the [DEFAULT] section of the Paste ini file.

	``full_stack``
		Whether this application provides a full WSGI stack (by default,
		meaning it handles its own exceptions and errors). Disable
		full_stack when this application is "managed" by another WSGI
		middleware.

	``static_files``
		Whether this application serves its own static files; disable
		when another web server is responsible for serving them.

	``app_conf``
		The application's local configuration. Normally specified in
		the [app:<name>] section of the Paste ini file (where <name>
		defaults to main).
	"""

	log.debug("CALL: make_app ")

	# Configure the Pylons environment
	config = load_environment( global_conf, app_conf )

	# The Pylons WSGI app
	app = PylonsApp( config=config )

	# Routing/Session/Cache Middleware
	app = RoutesMiddleware( app, config['routes.map'], singleton=False )
	app = SessionMiddleware( app, config )

	# CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)

	if asbool( full_stack ):
		# Handle Python exceptions
		app = ErrorHandler(app, global_conf, **config['pylons.errorware'])

		# Display error documents for 401, 403, 404 status codes (and 500 when debug is disabled)
		if asbool( config['debug'] ):
			app = StatusCodeRedirect(app)
		else:
			app = StatusCodeRedirect( app, [400, 401, 403, 404, 500] )


	# Establish the Registry for this application
	app = RegistryManager( app )


	if asbool(static_files):
		# 정적파일(static)은 아파치에 의해서 전달 되도록
		static_app = StaticURLParser(config['pylons.paths']['static_files'])
		app = Cascade([static_app, app])


	# 업로드용 모니터 연결 
	app = config['pylons.app_globals'].monitor = Monitor( app, threshold=1024 )
	
	app.config = config

	log.debug("DONE: make_app")
	return app