summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorR. Tyler Ballance <tyler@monkeypox.org>2010-01-27 20:43:05 -0800
committerR. Tyler Ballance <tyler@monkeypox.org>2010-01-27 20:43:05 -0800
commit0eead16006099c658988ebc4e1687ccabcbd3e92 (patch)
treed86c3769b735ea2493ba48cf77f4558d3eca2b9d
parent5d931545fcde3029a5e4f49d9d72533c0bd0f667 (diff)
downloadpython-cheetah-0eead16006099c658988ebc4e1687ccabcbd3e92.tar.gz
Gut the old WebWare-servlet code from Cheetah.Servlet
Apparently the attempted import might be to blame for some slowness when importing on Mac OS X which has a (large-ish) WebKit python module available.
-rw-r--r--cheetah/Servlet.py80
1 files changed, 8 insertions, 72 deletions
diff --git a/cheetah/Servlet.py b/cheetah/Servlet.py
index e122aca..70e8315 100644
--- a/cheetah/Servlet.py
+++ b/cheetah/Servlet.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
'''
Provides an abstract Servlet baseclass for Cheetah's Template class
'''
@@ -5,79 +6,16 @@ Provides an abstract Servlet baseclass for Cheetah's Template class
import sys
import os.path
-isWebwareInstalled = False
-try:
- try:
- from ds.appserver.Servlet import Servlet as BaseServlet
- except:
- from WebKit.Servlet import Servlet as BaseServlet
- isWebwareInstalled = True
-
- if not issubclass(BaseServlet, object):
- class NewStyleBaseServlet(BaseServlet, object):
- pass
- BaseServlet = NewStyleBaseServlet
-except:
- class BaseServlet(object):
- _reusable = 1
- _threadSafe = 0
-
- def awake(self, transaction):
- pass
-
- def sleep(self, transaction):
- pass
-
- def shutdown(self):
- pass
-
-##################################################
-## CLASSES
-
-class Servlet(BaseServlet):
-
- """This class is an abstract baseclass for Cheetah.Template.Template.
-
- It wraps WebKit.Servlet and provides a few extra convenience methods that
- are also found in WebKit.Page. It doesn't do any of the HTTP method
- resolution that is done in WebKit.HTTPServlet
+class Servlet(object):
"""
-
+ This class is an abstract baseclass for Cheetah.Template.Template.
+ """
+
transaction = None
application = None
request = None
session = None
-
- def __init__(self, *args, **kwargs):
- super(Servlet, self).__init__(*args, **kwargs)
-
- # this default will be changed by the .awake() method
- self._CHEETAH__isControlledByWebKit = False
-
- ## methods called by Webware during the request-response
-
- def awake(self, transaction):
- super(Servlet, self).awake(transaction)
-
- # a hack to signify that the servlet is being run directly from WebKit
- self._CHEETAH__isControlledByWebKit = True
-
- self.transaction = transaction
- #self.application = transaction.application
- self.response = response = transaction.response
- self.request = transaction.request
- # Temporary hack to accomodate bug in
- # WebKit.Servlet.Servlet.serverSidePath: it uses
- # self._request even though this attribute does not exist.
- # This attribute WILL disappear in the future.
- self._request = transaction.request()
-
-
- self.session = transaction.session
- self.write = response().write
- #self.writeln = response.writeln
-
def respond(self, trans=None):
raise NotImplementedError("""\
couldn't find the template's main method. If you are using #extends
@@ -88,7 +26,7 @@ definition.""")
super(Servlet, self).sleep(transaction)
self.session = None
self.request = None
- self._request = None
+ self._request = None
self.response = None
self.transaction = None
@@ -99,10 +37,8 @@ definition.""")
normpath=os.path.normpath,
abspath=os.path.abspath
):
-
- if self._CHEETAH__isControlledByWebKit:
- return super(Servlet, self).serverSidePath(path)
- elif path:
+
+ if path:
return normpath(abspath(path.replace("\\", '/')))
elif hasattr(self, '_filePath') and self._filePath:
return normpath(abspath(self._filePath))