File: //lib/python2.7/site-packages/leapp/utils/meta.pyo
�
g��fc @ s% d d l Z e d � Z d � Z d S( i����Nc C s% | d | j d | j | f i � S( s�
:param meta_class: The desired metaclass to use
:param base_class: The desired base class to use, the default one is object
:type base_class: Type
:return: Metaclass type to inherit from
:Example:
.. code-block:: python
class MyMetaClass(type):
def __new__(mcs, name, bases, attrs):
klass = super(MyMetaClass, mcs).__new__(mcs, name, bases, attrs)
klass.added = "Added field"
return klass
class MyClass(with_metaclass(MyMetaClass)):
pass
# This is equivalent to python 2:
class MyClass(object):
__metaclass__ = MyMetaClass
# Or python 3
class MyClass(object, metaclass=MyMetaClass):
pass
t with_meta_base_t _( t __name__( t
meta_classt
base_class( ( s4 /usr/lib/python2.7/site-packages/leapp/utils/meta.pyt with_metaclass s c C s; | j � } t t j | g | D] } t | � ^ q � � S( s�
Returns all the given subclasses and their subclasses recursively for the given class
:param cls: Class to check
:type cls: Type
:return: Flattened list of subclasses and their subclasses
( t __subclasses__t listt itertoolst chaint get_flattened_subclasses( t clst classest x( ( s4 /usr/lib/python2.7/site-packages/leapp/utils/meta.pyR
'