[Erp5-report] r13940 - in /erp5/trunk/products/ERP5Type: ./ Tool/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 4 16:13:18 CEST 2007


Author: kazuhiko
Date: Wed Apr  4 16:13:10 2007
New Revision: 13940

URL: http://svn.erp5.org?rev=13940&view=rev
Log:
enable memcached tool by the existence of python-memcached (Bug #632).

Modified:
    erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py
    erp5/trunk/products/ERP5Type/__init__.py
    erp5/trunk/products/ERP5Type/tests/utils.py

Modified: erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py?rev=13940&r1=13939&r2=13940&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py (original)
+++ erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py Wed Apr  4 16:13:10 2007
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-from Products.ERP5Type import allowMemcachedTool
 from Products.ERP5Type.Tool.BaseTool import BaseTool
 from Products.ERP5Type import Permissions, _dtmldir
 from AccessControl import ClassSecurityInfo
@@ -34,7 +33,13 @@
 
 MEMCACHED_TOOL_MODIFIED_FLAG_PROPERTY_ID = '_v_memcached_edited'
 
-if allowMemcachedTool():
+try:
+  import memcache
+except ImportError:
+  memcache = None
+
+if memcache is not None:
+  # Real memcache tool
   import memcache
   import traceback
   from Shared.DC.ZRDB.TM import TM
@@ -305,8 +310,8 @@
       self.server_address_list = value
       self._v_memcached_dict = None
 
-else:
-  
+else:  
+  # Placeholder memcache tool
   class MemcachedTool(BaseTool):
     """
       Dummy MemcachedTool placeholder.
@@ -326,10 +331,8 @@
         if this function is called and memcachedtool is disabled, fail loudly
         with a meaningfull message.
       """
-      from Products.ERP5Type import memcached_tool_enable_path
-      raise RuntimeError, 'MemcachedTool is disabled. You should ask'\
-        ' the server administrator to enable it by creating the file %s' % \
-        (memcached_tool_enable_path, )
+      raise RuntimeError, 'MemcachedTool is disabled. You should ask the'\
+        ' server administrator to enable it by installing python-memcached.'
 
     setServerAddress = failingMethod
     getServerAddress = failingMethod
@@ -337,4 +340,3 @@
     setServerAddressList = failingMethod
     memcached_tool_configure = failingMethod
     getMemcachedDict = failingMethod
-

Modified: erp5/trunk/products/ERP5Type/__init__.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/__init__.py?rev=13940&r1=13939&r2=13940&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/__init__.py (original)
+++ erp5/trunk/products/ERP5Type/__init__.py Wed Apr  4 16:13:10 2007
@@ -50,13 +50,9 @@
 # read permissions for zope - this prevents security holes in 
 # production environment  
 class_tool_security_path = '%s%s%s' % (product_path, os.sep, 'ALLOW_CLASS_TOOL')
-memcached_tool_enable_path = '%s%s%s' % (product_path, os.sep, 'USE_MEMCACHED_TOOL')
 
 def allowClassTool():
   return os.access(class_tool_security_path, os.F_OK)
-
-def allowMemcachedTool():
-  return os.access(memcached_tool_enable_path, os.F_OK)
 
 def initialize( context ):
   # Import Product Components

Modified: erp5/trunk/products/ERP5Type/tests/utils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/utils.py?rev=13940&r1=13939&r2=13940&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/utils.py (original)
+++ erp5/trunk/products/ERP5Type/tests/utils.py Wed Apr  4 16:13:10 2007
@@ -99,7 +99,6 @@
 def installRealMemcachedTool(portal):
   """Replaces portal_memcached by a real memcached tool object.
   """
-  Products.ERP5Type.allowMemcachedTool = lambda: 1
   _recreateMemcachedTool(portal)
 
 def _recreateMemcachedTool(portal):




More information about the Erp5-report mailing list