[Erp5-report] r29739 - in /erp5/trunk/products: ERP5Type/Cache.py ZSQLCatalog/SQLCatalog.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 16 11:54:26 CEST 2009


Author: kazuhiko
Date: Fri Oct 16 11:54:24 2009
New Revision: 29739

URL: http://svn.erp5.org?rev=29739&view=rev
Log:
simplify the definition of caching_class_method_decorator, thanks to Julien.

Modified:
    erp5/trunk/products/ERP5Type/Cache.py
    erp5/trunk/products/ZSQLCatalog/SQLCatalog.py

Modified: erp5/trunk/products/ERP5Type/Cache.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Cache.py?rev=29739&r1=29738&r2=29739&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Cache.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Cache.py [utf8] Fri Oct 16 11:54:24 2009
@@ -278,13 +278,6 @@
   # is 'self' that can be ignored to create a cache id.
   return str((method_id, args[1:], kwd))
 
-class caching_class_method_decorator:
-  def __init__(self, *args, **kw):
-    self.args = args
-    kw.setdefault(
-      'cache_id_func', generateCacheIdWithoutFirstArg)
-    self.kw = kw
-
-  def __call__(self, method):
-    caching_method = CachingMethod(method, *self.args, **self.kw)
-    return lambda *args, **kw: caching_method(*args, **kw)
+def caching_class_method_decorator(*args, **kw):
+  kw.setdefault('cache_id_func', generateCacheIdWithoutFirstArg)
+  return lambda method: CachingMethod(method, *args, **kw)

Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=29739&r1=29738&r2=29739&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] Fri Oct 16 11:54:24 2009
@@ -84,11 +84,8 @@
       self.function = callable
     def __call__(self, *opts, **kw):
       return self.function(*opts, **kw)
-  class caching_class_method_decorator:
-    def __init__(self, *args, **kw):
-      pass
-    def __call__(self, method):
-      return method
+  def caching_class_method_decorator(*args, **kw):
+    return lambda method: method
   enableReadOnlyTransactionCache = doNothing
   disableReadOnlyTransactionCache = doNothing
 




More information about the Erp5-report mailing list