Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 814

Show
Ignore:
Timestamp:
11/12/05 01:20:12
Author:
fumanchu
Message:

Removed all those annoying delayed imports inside filters, choosing to delay inside filters.init instead.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/filters/__init__.py

    r808 r814  
    22from cherrypy import _cputil 
    33 
    4 # Filters that are always included 
    5 from cherrypy.filters import baseurlfilter, cachefilter, \ 
    6     decodingfilter, encodingfilter, gzipfilter, logdebuginfofilter, \ 
    7     staticfilter, nsgmlsfilter, tidyfilter, \ 
    8     xmlrpcfilter, sessionauthenticatefilter, \ 
    9     sessionfilter 
    10  
    11 # this contains the classes for each filter type 
    12 # we do not store the instances here because the test 
    13 # suite must reinitialize the filters without restarting 
    14 # the server 
    15 _classes = { 
    16     'BaseUrlFilter'      : baseurlfilter.BaseUrlFilter, 
    17     'CacheFilter'        : cachefilter.CacheFilter, 
    18     'DecodingFilter'     : decodingfilter.DecodingFilter, 
    19     'EncodingFilter'     : encodingfilter.EncodingFilter, 
    20     'GzipFilter'         : gzipfilter.GzipFilter, 
    21     'LogDebugInfoFilter' : logdebuginfofilter.LogDebugInfoFilter, 
    22     'NsgmlsFilter'       : nsgmlsfilter.NsgmlsFilter, 
    23     'SessionAuthenticateFilter' : sessionauthenticatefilter.SessionAuthenticateFilter, 
    24     'SessionFilter'      : sessionfilter.SessionFilter, 
    25     'StaticFilter'       : staticfilter.StaticFilter, 
    26     'TidyFilter'         : tidyfilter.TidyFilter, 
    27     'XmlRpcFilter'       : xmlrpcfilter.XmlRpcFilter, 
    28 } 
    29  
    304# These are in order for a reason! 
    31 # They must be strings matching keys in _classes 
     5# They must be strings matching keys in classMap 
    326_input_order = [ 
    337    'CacheFilter', 
     
    6135def init(): 
    6236    """Initialize the filters.""" 
     37     
     38    from cherrypy.filters import baseurlfilter, cachefilter, \ 
     39        decodingfilter, encodingfilter, gzipfilter, logdebuginfofilter, \ 
     40        staticfilter, nsgmlsfilter, tidyfilter, \ 
     41        xmlrpcfilter, sessionauthenticatefilter, \ 
     42        sessionfilter 
     43     
     44    classMap = { 
     45        'BaseUrlFilter'      : baseurlfilter.BaseUrlFilter, 
     46        'CacheFilter'        : cachefilter.CacheFilter, 
     47        'DecodingFilter'     : decodingfilter.DecodingFilter, 
     48        'EncodingFilter'     : encodingfilter.EncodingFilter, 
     49        'GzipFilter'         : gzipfilter.GzipFilter, 
     50        'LogDebugInfoFilter' : logdebuginfofilter.LogDebugInfoFilter, 
     51        'NsgmlsFilter'       : nsgmlsfilter.NsgmlsFilter, 
     52        'SessionAuthenticateFilter' : sessionauthenticatefilter.SessionAuthenticateFilter, 
     53        'SessionFilter'      : sessionfilter.SessionFilter, 
     54        'StaticFilter'       : staticfilter.StaticFilter, 
     55        'TidyFilter'         : tidyfilter.TidyFilter, 
     56        'XmlRpcFilter'       : xmlrpcfilter.XmlRpcFilter, 
     57    } 
     58     
    6359    instances = {} 
    6460    inputs, outputs = [], [] 
     
    6965        f = instances.get(name) 
    7066        if f is None: 
    71             f = instances[name] = _classes[name]() 
     67            f = instances[name] = classMap[name]() 
    7268        inputs.append(f) 
    7369     
     
    7571        f = instances.get(name) 
    7672        if f is None: 
    77             f = instances[name] = _classes[name]() 
     73            f = instances[name] = classMap[name]() 
    7874        outputs.append(f) 
    7975     
  • trunk/cherrypy/filters/baseurlfilter.py

    r808 r814  
    1  
     1import cherrypy 
    22from basefilter import BaseFilter 
    33 
     
    1010     
    1111    def beforeRequestBody(self): 
    12         import cherrypy 
    13          
    1412        if not cherrypy.config.get('baseUrlFilter.on', False): 
    1513            return 
  • trunk/cherrypy/filters/cachefilter.py

    r808 r814  
    44import time 
    55 
     6import cherrypy 
    67import basefilter 
    78 
     
    9495    maxobjects = property(lambda self: cherrypy.config.get("cacheFilter.maxobjects", 1000)) 
    9596     
    96     def onStartResource(self): 
    97         # We have to dynamically import cherrypy because Python can't handle 
    98         #   circular module imports :-( 
    99         global cherrypy 
    100         import cherrypy 
    101         cherrypy.request.cacheable = True 
    102      
    10397    def beforeMain(self): 
    10498        if not cherrypy.config.get('cacheFilter.on', False): 
  • trunk/cherrypy/filters/decodingfilter.py

    r808 r814  
    1  
     1import cherrypy 
    22from basefilter import BaseFilter 
    33 
     
    66     
    77    def beforeMain(self): 
    8         # We have to dynamically import cherrypy because Python can't handle 
    9         #   circular module imports :-( 
    10         global cherrypy 
    11         import cherrypy 
    12          
    138        if not cherrypy.config.get('decodingFilter.on', False): 
    149            return 
  • trunk/cherrypy/filters/encodingfilter.py

    r808 r814  
    1  
     1import cherrypy 
    22from basefilter import BaseFilter 
    33 
     
    66     
    77    def beforeFinalize(self): 
    8         # We have to dynamically import cherrypy because Python can't handle 
    9         #   circular module imports :-( 
    10         global cherrypy 
    11         import cherrypy 
    12          
    138        conf = cherrypy.config.get 
    149        if not conf('encodingFilter.on', False): 
  • trunk/cherrypy/filters/gzipfilter.py

    r808 r814  
    1  
    2 import zlib 
    31import struct 
    42import time 
     3import zlib 
     4 
     5import cherrypy 
    56from basefilter import BaseFilter 
    67 
     
    910     
    1011    def beforeFinalize(self): 
    11         # We have to dynamically import cherrypy because Python can't handle 
    12         #   circular module imports :-( 
    13         global cherrypy 
    14         import cherrypy 
    15          
    1612        if not cherrypy.config.get('gzipFilter.on', False): 
    1713            return 
  • trunk/cherrypy/filters/logdebuginfofilter.py

    r808 r814  
    1  
    21import time 
    32 
     
    76    import pickle 
    87 
     8import cherrypy 
    99from basefilter import BaseFilter 
    1010 
     
    1414     
    1515    def onStartResource(self): 
    16         # We have to dynamically import cherrypy because Python can't handle 
    17         #   circular module imports :-( 
    18         global cherrypy 
    19         import cherrypy 
    2016        cherrypy.request.startBuilTime = time.time() 
    2117     
  • trunk/cherrypy/filters/nsgmlsfilter.py

    r808 r814  
     1import os, cgi 
    12 
    2 import os, cgi 
     3import cherrypy 
    34from basefilter import BaseFilter 
    45 
     
    910     
    1011    def beforeFinalize(self): 
    11         # We have to dynamically import cherrypy because Python can't handle 
    12         #   circular module imports :-( 
    13         global cherrypy 
    14         import cherrypy 
    15          
    1612        if not cherrypy.config.get('nsgmlsFilter.on', False): 
    1713            return 
     
    6561                cherrypy.response.body = [newBody] 
    6662 
    67  
  • trunk/cherrypy/filters/sessionauthenticatefilter.py

    r808 r814  
    1  
     1import cherrypy 
    22from basefilter import BaseFilter 
    33 
     
    2525    Filter allows for simple forms based authentication and access control 
    2626    """ 
    27  
     27     
    2828    def beforeMain(self): 
    29         import cherrypy 
    3029        if not cherrypy.config.get('sessionAuthenticateFilter.on', False): 
    3130            return 
  • trunk/cherrypy/filters/sessionfilter.py

    r808 r814  
    3434import types 
    3535 
     36import cherrypy 
    3637import basefilter 
    3738 
     
    5556     
    5657    def beforeRequestBody(self): 
    57         # We have to dynamically import cherrypy because Python can't handle 
    58         #   circular module imports :-( 
    59         global cherrypy 
    60         import cherrypy 
    6158        conf = cherrypy.config.get 
    6259         
  • trunk/cherrypy/filters/staticfilter.py

    r808 r814  
    11import os 
    22import urllib 
    3 from basefilter import BaseFilter 
     3 
     4import cherrypy 
     5from cherrypy.lib import cptools 
     6from cherrypy.filters.basefilter import BaseFilter 
    47 
    58 
     
    811     
    912    def beforeMain(self): 
    10         from cherrypy import config, request 
    11         from cherrypy.lib import cptools 
    12          
     13        config = cherrypy.config 
    1314        if not config.get('staticFilter.on', False): 
    1415            return 
    1516         
     17        request = cherrypy.request 
    1618        path = request.objectPath 
    1719         
  • trunk/cherrypy/filters/tidyfilter.py

    r808 r814  
    1 import os, cgi, StringIO, traceback 
     1import cgi 
     2import os 
     3import StringIO 
     4import traceback 
     5 
     6import cherrypy 
    27from basefilter import BaseFilter 
    38 
     
    1318     
    1419    def beforeFinalize(self): 
    15         import cherrypy 
    16          
    1720        if not cherrypy.config.get('tidyFilter.on', False): 
    1821            return 
  • trunk/cherrypy/filters/xmlrpcfilter.py

    r808 r814  
    8080###################################################################### 
    8181 
     82import xmlrpclib 
     83 
     84import cherrypy 
    8285from basefilter import BaseFilter 
    83 import xmlrpclib 
    8486 
    8587 
     
    118120        return result 
    119121     
    120     def onStartResource(self): 
    121         # We have to dynamically import cherrypy because Python can't handle 
    122         #   circular module imports :-( 
    123         global cherrypy 
    124         import cherrypy 
    125      
    126122    def beforeRequestBody(self): 
    127123        """ Called after the request header has been read/parsed""" 

Hosted by WebFaction

Log in as guest/cpguest to create tickets