dataimport/deprecated.py
changeset 10688 fa29f3628a1b
parent 10669 155c29e0ed1c
child 10808 b6b2e1bcd1b2
--- a/dataimport/deprecated.py	Wed Sep 16 11:28:07 2015 +0200
+++ b/dataimport/deprecated.py	Wed Sep 16 13:57:21 2015 +0200
@@ -64,6 +64,8 @@
 import traceback
 from StringIO import StringIO
 
+from six import add_metaclass
+
 from logilab.common import attrdict, shellutils
 from logilab.common.date import strptime
 from logilab.common.deprecation import deprecated, class_deprecated
@@ -116,9 +118,9 @@
     return answer == 'Y'
 
 
+@add_metaclass(class_deprecated)
 class catch_error(object):
     """Helper for @contextmanager decorator."""
-    __metaclass__ = class_deprecated
     __deprecation_warning__ = '[3.21] deprecated'
 
     def __init__(self, ctl, key='unexpected error', msg=None):
@@ -257,6 +259,7 @@
             if k is not None and len(v) > 1]
 
 
+@add_metaclass(class_deprecated)
 class ObjectStore(object):
     """Store objects in memory for *faster* validation (development mode)
 
@@ -267,7 +270,6 @@
     >>> group = store.prepare_insert_entity('CWUser', name=u'unknown')
     >>> store.prepare_insert_relation(user, 'in_group', group)
     """
-    __metaclass__ = class_deprecated
     __deprecation_warning__ = '[3.21] use the new importer API'
 
     def __init__(self):
@@ -338,6 +340,7 @@
         self.prepare_insert_relation(eid_from, rtype, eid_to, **kwargs)
 
 
+@add_metaclass(class_deprecated)
 class CWImportController(object):
     """Controller of the data import process.
 
@@ -346,7 +349,6 @@
     >>> ctl.data = dict_of_data_tables
     >>> ctl.run()
     """
-    __metaclass__ = class_deprecated
     __deprecation_warning__ = '[3.21] use the new importer API'
 
     def __init__(self, store, askerror=0, catcherrors=None, tell=tell,