summaryrefslogtreecommitdiffstats
path: root/ipapython/install
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2015-08-26 13:29:18 +0200
committerJan Cholasta <jcholast@redhat.com>2015-09-07 08:00:11 +0200
commitebdfa4380bdcdd99970c7d677df7e0d5e3ede6bc (patch)
treeb9d9193f90c69bac773ad0542254de7e3aa47902 /ipapython/install
parent198908ec78b9a2dbdb802c3a094ec8f54b931d7a (diff)
downloadfreeipa-ebdfa4380bdcdd99970c7d677df7e0d5e3ede6bc.tar.gz
freeipa-ebdfa4380bdcdd99970c7d677df7e0d5e3ede6bc.tar.xz
freeipa-ebdfa4380bdcdd99970c7d677df7e0d5e3ede6bc.zip
Use six.with_metaclass to specify metaclasses
Metaclass specification is incompatible between Python 2 and 3. Use the six.with_metaclass helper to specify metaclasses. Reviewed-By: Petr Viktorin <pviktori@redhat.com>
Diffstat (limited to 'ipapython/install')
-rw-r--r--ipapython/install/core.py12
-rw-r--r--ipapython/install/util.py1
2 files changed, 5 insertions, 8 deletions
diff --git a/ipapython/install/core.py b/ipapython/install/core.py
index f4b2806ea..45f7aef78 100644
--- a/ipapython/install/core.py
+++ b/ipapython/install/core.py
@@ -54,8 +54,7 @@ class KnobValueError(ValueError):
self.name = name
-class InnerClass(object):
- __metaclass__ = util.InnerClassMeta
+class InnerClass(six.with_metaclass(util.InnerClassMeta, object)):
__outer_class__ = None
__outer_name__ = None
@@ -162,15 +161,13 @@ def Knob(type, default=_missing, initializable=_missing, sensitive=_missing,
return util.InnerClassMeta('Knob', (KnobBase,), class_dict)
-class Configurable(object):
+class Configurable(six.with_metaclass(abc.ABCMeta, object)):
"""
Base class of all configurables.
FIXME: details of validate/execute, properties and knobs
"""
- __metaclass__ = abc.ABCMeta
-
@classmethod
def knobs(cls):
"""
@@ -382,9 +379,8 @@ class ComponentMeta(util.InnerClassMeta, abc.ABCMeta):
pass
-class ComponentBase(InnerClass, Configurable):
- __metaclass__ = ComponentMeta
-
+class ComponentBase(
+ six.with_metaclass(ComponentMeta, InnerClass, Configurable)):
_order = None
@classmethod
diff --git a/ipapython/install/util.py b/ipapython/install/util.py
index d86db218b..1c264a858 100644
--- a/ipapython/install/util.py
+++ b/ipapython/install/util.py
@@ -159,5 +159,6 @@ class InnerClassMeta(type):
self.__outer_class__ = cls
self.__outer_name__ = name
self.__name__ = '.'.join((cls.__name__, name))
+ self.__qualname__ = self.__name__
return cls, name