✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ beluga.o2switch.net ​🇻​♯➤ 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 185.154.139.77 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.84
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python37/lib64/python3.7/site-packages/coverage//pytracer.py
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt

"""Raw data collector for coverage.py."""

import dis
import sys

from coverage import env

# We need the YIELD_VALUE opcode below, in a comparison-friendly form.
YIELD_VALUE = dis.opmap['YIELD_VALUE']
if env.PY2:
    YIELD_VALUE = chr(YIELD_VALUE)


class PyTracer(object):
    """Python implementation of the raw data tracer."""

    # Because of poor implementations of trace-function-manipulating tools,
    # the Python trace function must be kept very simple.  In particular, there
    # must be only one function ever set as the trace function, both through
    # sys.settrace, and as the return value from the trace function.  Put
    # another way, the trace function must always return itself.  It cannot
    # swap in other functions, or return None to avoid tracing a particular
    # frame.
    #
    # The trace manipulator that introduced this restriction is DecoratorTools,
    # which sets a trace function, and then later restores the pre-existing one
    # by calling sys.settrace with a function it found in the current frame.
    #
    # Systems that use DecoratorTools (or similar trace manipulations) must use
    # PyTracer to get accurate results.  The command-line --timid argument is
    # used to force the use of this tracer.

    def __init__(self):
        # Attributes set from the collector:
        self.data = None
        self.trace_arcs = False
        self.should_trace = None
        self.should_trace_cache = None
        self.warn = None
        # The threading module to use, if any.
        self.threading = None

        self.cur_file_dict = []
        self.last_line = [0]

        self.data_stack = []
        self.last_exc_back = None
        self.last_exc_firstlineno = 0
        self.thread = None
        self.stopped = False

    def __repr__(self):
        return "<PyTracer at 0x{0:0x}: {1} lines in {2} files>".format(
            id(self),
            sum(len(v) for v in self.data.values()),
            len(self.data),
        )

    def _trace(self, frame, event, arg_unused):
        """The trace function passed to sys.settrace."""

        if self.stopped:
            return

        if self.last_exc_back:
            if frame == self.last_exc_back:
                # Someone forgot a return event.
                if self.trace_arcs and self.cur_file_dict:
                    pair = (self.last_line, -self.last_exc_firstlineno)
                    self.cur_file_dict[pair] = None
                self.cur_file_dict, self.last_line = self.data_stack.pop()
            self.last_exc_back = None

        if event == 'call':
            # Entering a new function context.  Decide if we should trace
            # in this file.
            self.data_stack.append((self.cur_file_dict, self.last_line))
            filename = frame.f_code.co_filename
            disp = self.should_trace_cache.get(filename)
            if disp is None:
                disp = self.should_trace(filename, frame)
                self.should_trace_cache[filename] = disp

            self.cur_file_dict = None
            if disp.trace:
                tracename = disp.source_filename
                if tracename not in self.data:
                    self.data[tracename] = {}
                self.cur_file_dict = self.data[tracename]
            # The call event is really a "start frame" event, and happens for
            # function calls and re-entering generators.  The f_lasti field is
            # -1 for calls, and a real offset for generators.  Use <0 as the
            # line number for calls, and the real line number for generators.
            if frame.f_lasti < 0:
                self.last_line = -frame.f_code.co_firstlineno
            else:
                self.last_line = frame.f_lineno
        elif event == 'line':
            # Record an executed line.
            if self.cur_file_dict is not None:
                lineno = frame.f_lineno
                if self.trace_arcs:
                    self.cur_file_dict[(self.last_line, lineno)] = None
                else:
                    self.cur_file_dict[lineno] = None
                self.last_line = lineno
        elif event == 'return':
            if self.trace_arcs and self.cur_file_dict:
                # Record an arc leaving the function, but beware that a
                # "return" event might just mean yielding from a generator.
                bytecode = frame.f_code.co_code[frame.f_lasti]
                if bytecode != YIELD_VALUE:
                    first = frame.f_code.co_firstlineno
                    self.cur_file_dict[(self.last_line, -first)] = None
            # Leaving this function, pop the filename stack.
            self.cur_file_dict, self.last_line = self.data_stack.pop()
        elif event == 'exception':
            self.last_exc_back = frame.f_back
            self.last_exc_firstlineno = frame.f_code.co_firstlineno
        return self._trace

    def start(self):
        """Start this Tracer.

        Return a Python function suitable for use with sys.settrace().

        """
        if self.threading:
            self.thread = self.threading.currentThread()
        sys.settrace(self._trace)
        self.stopped = False
        return self._trace

    def stop(self):
        """Stop this Tracer."""
        self.stopped = True
        if self.threading and self.thread.ident != self.threading.currentThread().ident:
            # Called on a different thread than started us: we can't unhook
            # ourselves, but we've set the flag that we should stop, so we
            # won't do any more tracing.
            return

        if self.warn:
            if sys.gettrace() != self._trace:
                msg = "Trace function changed, measurement is likely wrong: %r"
                self.warn(msg % (sys.gettrace(),))

        sys.settrace(None)

    def get_stats(self):
        """Return a dictionary of statistics, or None."""
        return None


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
25 Feb 2025 8.05 AM
root / linksafe
0755
__pycache__
--
25 Jul 2024 8.44 AM
root / linksafe
0755
htmlfiles
--
25 Jul 2024 8.44 AM
root / linksafe
0755
__init__.py
1.188 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
__main__.py
0.251 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
annotate.py
3.289 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
backunittest.py
1.479 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
backward.py
4.6 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
bytecode.py
0.706 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
cmdline.py
25.118 KB
11 Jul 2016 11.04 AM
root / linksafe
0644
collector.py
14.471 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
config.py
12.464 KB
24 Jul 2016 1.07 PM
root / linksafe
0644
control.py
44.984 KB
24 Jul 2016 1.07 PM
root / linksafe
0644
data.py
26.952 KB
10 Jul 2016 2.40 PM
root / linksafe
0644
debug.py
3.646 KB
10 Jul 2016 7.56 PM
root / linksafe
0644
env.py
0.89 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
execfile.py
8.305 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
files.py
12.397 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
html.py
14.379 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
misc.py
7.636 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
multiproc.py
3.191 KB
24 Jul 2016 1.33 PM
root / linksafe
0644
parser.py
38.61 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
phystokens.py
9.645 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
pickle2json.py
1.454 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
plugin.py
13.749 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
plugin_support.py
7.707 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
python.py
6.203 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
pytracer.py
5.946 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
report.py
3.523 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
results.py
9.372 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
summary.py
5.568 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
templite.py
9.748 KB
10 Jul 2016 12.52 PM
root / linksafe
0644
tracer.cpython-37m-x86_64-linux-gnu.so
25.539 KB
20 Feb 2023 11.15 AM
root / linksafe
0755
version.py
1.23 KB
26 Jul 2016 8.04 PM
root / linksafe
0644
xmlreport.py
7.747 KB
10 Jul 2016 12.52 PM
root / linksafe
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF