home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2009 May / maximum-cd-2009-05.iso / DiscContents / XBMC_for_Windows-8.10.exe / system / python / spyce / modules / pool.py < prev    next >
Encoding:
Python Source  |  2008-11-03  |  1.6 KB  |  46 lines

  1. ##################################################
  2. # SPYCE - Python-based HTML Scripting
  3. # Copyright (c) 2002 Rimon Barr.
  4. #
  5. # Refer to spyce.py
  6. # CVS: $Id: pool.py 5659 2006-04-27 16:15:15Z jwnmulder $
  7. ##################################################
  8.  
  9. from spyceModule import spyceModule
  10.  
  11. __doc__ = """Pool module supports the creation of server-pooled objects. The
  12. single pool is shared among all Spyce execution context residing on a given
  13. server, and remains until the server dies. It is often useful to store
  14. database connections, and other variables that are expensive to compute on a
  15. per-request basis. """
  16.  
  17. class pool(spyceModule):
  18.   def start(self):
  19.     "Define or retrieve the pool."
  20.     self._serverobject = self._api.getServerObject()
  21.     if 'pool' not in dir(self._serverobject):
  22.       self._serverobject.pool = {}
  23.     self.server = self._api.getServerGlobals()
  24.   def __getitem__(self, key):
  25.     "Get an item from the pool."
  26.     return self._serverobject.pool[key]
  27.   def __setitem__(self, key, value):
  28.     "Set an item in the pool."
  29.     self._serverobject.pool[key] = value
  30.   def __delitem__(self, key):
  31.     "Delete an item in the pool."
  32.     del self._serverobject.pool[key]
  33.   def keys(self):
  34.     "Return the pool hash keys."
  35.     return self._serverobject.pool.keys()
  36.   def values(self):
  37.     "Return the pool hash values."
  38.     return self._serverobject.pool.values()
  39.   def has_key(self, key):
  40.     "Test of existence of key in pool."
  41.     return self._serverobject.pool.has_key(key)
  42.   def clear(self):
  43.     "Purge the pool of all items."
  44.     return self._serverobject.pool.clear()
  45.  
  46.