[Erp5-report] r28769 - /erp5/trunk/products/ERP5Type/Utils.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Sep 3 10:45:38 CEST 2009


Author: jm
Date: Thu Sep  3 10:45:37 2009
New Revision: 28769

URL: http://svn.erp5.org?rev=28769&view=rev
Log:
* Log 'warning.*' to zope log instead of stderr
* Add new 'deprecated' decorator for deprecated functions/methods

Modified:
    erp5/trunk/products/ERP5Type/Utils.py

Modified: erp5/trunk/products/ERP5Type/Utils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Utils.py?rev=28769&r1=28768&r2=28769&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Utils.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Utils.py [utf8] Thu Sep  3 10:45:37 2009
@@ -32,6 +32,7 @@
 import re
 import string
 import time
+import warnings
 from md5 import new as md5_new
 from sha import new as sha_new
 
@@ -163,7 +164,27 @@
     value_list.sort(**sort_kw)
 
   return value_list
-      
+
+#####################################################
+# Logging
+#####################################################
+
+def _showwarning(message, category, filename, lineno, file=None):
+  if file is None:
+    LOG("%s:%u %s: %s" % (filename, lineno, category.__name__, message),
+        WARNING, '')
+  else:
+    file.write(warnings.formatwarning(message, category, filename, lineno))
+warnings.showwarning = _showwarning
+
+def deprecated(wrapped):
+  message = "Use of '%s' function (%s, line %s) is deprecated." % (
+    wrapped.__name__, wrapped.__module__, wrapped.func_code.co_firstlineno)
+  def wrapper(*args, **kw):
+    warnings.warn(message, DeprecationWarning, 2)
+    return wrapped(*args, **kw)
+  return wrapper
+
 #####################################################
 # Useful methods
 #####################################################




More information about the Erp5-report mailing list