app/soc/modules/core.py
changeset 2833 5aa891de5aa5
parent 2404 4f87bab3c6b3
child 2849 c0462a1d3958
equal deleted inserted replaced
2832:2a0a7e081caf 2833:5aa891de5aa5
    19   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    19   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    20   '"Lennard de Rijk" <ljvderijk@gmail.com>',
    20   '"Lennard de Rijk" <ljvderijk@gmail.com>',
    21   ]
    21   ]
    22 
    22 
    23 
    23 
       
    24 import logging
       
    25 
    24 from django.conf.urls import defaults
    26 from django.conf.urls import defaults
    25 
    27 
    26 import settings
    28 import settings
    27 import soc.cache.sidebar
    29 import soc.cache.sidebar
    28 
    30 
   106     self.capabilities = []
   108     self.capabilities = []
   107     self.services = []
   109     self.services = []
   108 
   110 
   109     self.sitemap = []
   111     self.sitemap = []
   110     self.sidebar = []
   112     self.sidebar = []
       
   113     self.per_request_cache = {}
   111 
   114 
   112   ##
   115   ##
   113   ## internal
   116   ## internal
   114   ##
   117   ##
   115 
   118 
   132     return func
   135     return func
   133 
   136 
   134   ##
   137   ##
   135   ## Core code
   138   ## Core code
   136   ##
   139   ##
       
   140 
       
   141   def startNewRequest(self, request):
       
   142     """Prepares core to handle a new request.
       
   143     """
       
   144 
       
   145     self.per_request_value = {}
       
   146     self.setRequestValue('request', request)
       
   147 
       
   148   def endRequest(self, request):
       
   149     """Performs cleanup after current request.
       
   150     """
       
   151 
       
   152     old_request = self.getRequestValue('request')
       
   153     self.per_request_value = {}
       
   154 
       
   155     if id(old_request) != id(request):
       
   156       logging.error("ending request: \n'%s'\n != \n'%s'\n" % (
       
   157           old_request, request))
       
   158 
       
   159   def getRequestValue(self, key, default=None):
       
   160     """Gets a per-request value.
       
   161     """
       
   162 
       
   163     return self.per_request_value.get(key, default)
       
   164 
       
   165   def setRequestValue(self, key, value):
       
   166     """Sets a per-request value.
       
   167     """
       
   168 
       
   169     self.per_request_value[key] = value
   137 
   170 
   138   def getPatterns(self):
   171   def getPatterns(self):
   139     """Returns the Django patterns for this site.
   172     """Returns the Django patterns for this site.
   140     """
   173     """
   141 
   174