HEX
Server: LiteSpeed
System: Linux altar40.supremepanel40.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
User: sescorpcl (4477)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/python2.7/site-packages/leapp/utils/__pycache__/meta.cpython-36.pyc
3

�S4bN�@s ddlZefdd�Zdd�ZdS)�NcCs|d|jd|j|fi�S)a�
    :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
    Zwith_meta_base_�_)�__name__)Z
meta_classZ
base_class�r�'/root/tmp_leapp_py3/leapp/utils/meta.py�with_metaclasssrcCs&|j�}ttj|fdd�|D����S)z�
    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
    cSsg|]}t|��qSr)�get_flattened_subclasses)�.0�xrrr�
<listcomp>/sz,get_flattened_subclasses.<locals>.<listcomp>)�__subclasses__�list�	itertools�chain)�cls�classesrrrr'sr)r
�objectrrrrrr�<module>s#