All Downloads are FREE. Search and download functionalities are using the official Maven repository.

glassfish.wsgi.DjangoWrapper.py Maven / Gradle / Ivy

There is a newer version: 0.5.6
Show newest version
#
#DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
#Copyright 2008 Sun Microsystems, Inc. All rights reserved.
#
#The contents of this file are subject to the terms of either the GNU
#General Public License Version 2 only ("GPL") or the Common Development
#and Distribution License("CDDL") (collectively, the "License").  You
#may not use this file except in compliance with the License. You can obtain
#a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
#or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
#language governing permissions and limitations under the License.
#
#When distributing the software, include this License Header Notice in each
#file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
#Sun designates this particular file as subject to the "Classpath" exception
#as provided by Sun in the GPL Version 2 section of the License file that
#accompanied this code.  If applicable, add the following below the License
#Header, with the fields enclosed by brackets [] replaced by your own
#identifying information: "Portions Copyrighted [year]
#[name of copyright owner]"
#
#Contributor(s):
#
#If you wish your version of this file to be governed by only the CDDL or
#only the GPL Version 2, indicate your decision by adding "[Contributor]
#elects to include this software in this distribution under the [CDDL or GPL
#Version 2] license."  If you don't indicate a single choice of license, a
#recipient has the option to distribute your version of this file under
#either the CDDL, the GPL Version 2 or to extend the choice of license to
#its licensees as provided above.  However, if you add GPL Version 2 code
#and therefore, elected the GPL Version 2 license, then the option applies
#only if the new code is made subject to such option by the copyright
#holder.
#

# Wrapper for a Django Application
#package org.glassfish.scripting.jython.grizzly;

from org.glassfish.scripting.jython.grizzly import JythonApp
from org.glassfish.scripting.jython.grizzly import JyConfig

import os, sys
import inspect
import django.core.handlers.wsgi


class DjangoWrapper(JythonApp):
   def __init__(self):
	self.app = None
	self.response = None

   def start(self, config):
	sys.path.append(config.getAppPath())
	os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
      	self.app = django.core.handlers.wsgi.WSGIHandler()
	if self.app != None: return 1
	else: return 0

   def call(self, environment, start_response):
	self.response = self.app(environment, start_response)
	return self.response
    
   def finish(self):
    if hasattr(self.response,'close'):
     self.response.close()
   
   def stop(self):
    print("going down")
	#do nothing. Cleanup will happen from the interpreter going down




© 2015 - 2024 Weber Informatics LLC | Privacy Policy