diff options
author | R. Tyler Ballance <tyler@monkeypox.org> | 2010-01-27 20:43:05 -0800 |
---|---|---|
committer | R. Tyler Ballance <tyler@monkeypox.org> | 2010-01-27 20:43:05 -0800 |
commit | 0eead16006099c658988ebc4e1687ccabcbd3e92 (patch) | |
tree | d86c3769b735ea2493ba48cf77f4558d3eca2b9d /cheetah | |
parent | 5d931545fcde3029a5e4f49d9d72533c0bd0f667 (diff) | |
download | python-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.
Diffstat (limited to 'cheetah')
-rw-r--r-- | cheetah/Servlet.py | 80 |
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)) |