File: debug.py

package info (click to toggle)
python-pyforge 1.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 464 kB
  • sloc: python: 3,666; makefile: 12; sh: 7
file content (23 lines) | stat: -rw-r--r-- 694 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import os
from .caller_info import CallerInfo

def _get_none_caller_info(level):
    return None

class ForgeDebug(object):
    def __init__(self, forge):
        super(ForgeDebug, self).__init__()
        if 'FORGE_DEBUG' in os.environ:
            self.enable()
        else:
            self.disable()
    def disable(self):
        self._enabled = False
        self._current_caller_info_getter = _get_none_caller_info
    def enable(self):
        self._enabled = True
        self._current_caller_info_getter = CallerInfo.from_caller
    def is_enabled(self):
        return self._enabled
    def get_caller_info(self, level=1):
        return self._current_caller_info_getter(level + 1)