Source code for evennia.contrib.utils.debugpy.cmd

import sys
from django.conf import settings
from evennia.utils import utils

COMMAND_DEFAULT_CLASS = utils.class_from_module(settings.COMMAND_DEFAULT_CLASS)

ERROR_MSG = """Error, debugpy not found! Please install debugpy by running: `pip install debugpy`
After that please reboot Evennia with `evennia reboot`"""

try:
    import debugpy
except ImportError:
    print(ERROR_MSG)
    sys.exit()


[docs]class CmdDebugPy(COMMAND_DEFAULT_CLASS): """ Launch debugpy debugger and wait for attach on port 5678 Usage: debugpy """ key = "debugpy" locks = "cmd:perm(debugpy) or perm(Builder)"
[docs] def func(self): caller = self.caller caller.msg("Waiting for debugger attach...") yield 0.1 # make sure msg is sent first debugpy.listen(5678) debugpy.wait_for_client() caller.msg("Debugger attached.")