debugpy/ptvsd/debugger.py
Don Jayamanne c36bf32ab5 Add ability to run without debugging (#797)
* Add ability to run without debugging

* Fix linter
2018-09-12 10:09:46 -07:00

43 lines
1.1 KiB
Python

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See LICENSE in the project root
# for license information.
import sys
from ptvsd._local import run_module, run_file, run_main
# TODO: not needed?
DONT_DEBUG = []
LOCALHOST = 'localhost'
RUNNERS = {
'module': run_module, # python -m spam
'script': run_file, # python spam.py
'code': run_file, # python -c 'print("spam")'
None: run_file, # catchall
}
def debug(filename, port_num, debug_id, debug_options, run_as,
_runners=RUNNERS, _extra=None, *args, **kwargs):
# TODO: docstring
if _extra is None:
_extra = sys.argv[1:]
address = (LOCALHOST, port_num)
try:
run = _runners[run_as]
except KeyError:
# TODO: fail?
run = _runners[None]
if _extra:
args = _extra + list(args)
kwargs.setdefault('singlesession', True)
run(address, filename, *args, **kwargs)
def run(filename, port_num, run_as,
*args, **kwargs):
address = (LOCALHOST, port_num)
run_main(address, filename, run_as, *args, **kwargs)