class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singleton, cls).__call__( *args, **kwargs ) return cls._instances[cls] class SubclassesMixin: @classmethod def _get_all_subclasses(cls): all_subclasses = [] for subclass in cls.__subclasses__(): all_subclasses.append(subclass) all_subclasses.extend(subclass._get_all_subclasses()) return all_subclasses @classmethod def _get_subclasses_with(cls, attribute): return [x for x in cls._get_all_subclasses() if hasattr(x, attribute)] @classmethod def _get_subclasses_dict(cls, attribute): return dict( [ (getattr(x, attribute), x) for x in cls._get_all_subclasses() if hasattr(x, attribute) ] )
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
accounting | Folder | 0755 |
|
|
client_config | Folder | 0755 |
|
|
connection_backend | Folder | 0755 |
|
|
dbus | Folder | 0755 |
|
|
keyring | Folder | 0755 |
|
|
killswitch | Folder | 0755 |
|
|
location | Folder | 0755 |
|
|
metadata | Folder | 0755 |
|
|
notification | Folder | 0755 |
|
|
report | Folder | 0755 |
|
|
servers | Folder | 0755 |
|
|
session | Folder | 0755 |
|
|
streaming | Folder | 0755 |
|
|
user_settings | Folder | 0755 |
|
|
vpn | Folder | 0755 |
|
|
__init__.py | File | 966 B | 0644 |
|
country.py | File | 2.95 KB | 0644 |
|
environment.py | File | 4.42 KB | 0644 |
|
status.py | File | 2.77 KB | 0644 |
|
subprocess_wrapper.py | File | 4.1 KB | 0644 |
|
utilities.py | File | 5.2 KB | 0644 |
|
utils.py | File | 961 B | 0644 |
|