Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ptvsd
- import argparse
- import os
- import sys
- import json
- if __name__ == "__main__":
- # Parse arguments.
- parser = argparse.ArgumentParser()
- parser.add_argument('script')
- parser.add_argument('--host', default='0.0.0.0')
- parser.add_argument('--port', default=8899, type=int)
- parser.add_argument('--json_list_args', default='[]')
- parser.add_argument('--current_working_directory', default=None, type=str)
- args = parser.parse_args()
- # Wait for debug client.
- print('Waiting for debug client...')
- ptvsd.enable_attach(address=(args.host, args.port), redirect_output=True)
- ptvsd.wait_for_attach()
- # Prepare environment and run the script.
- print('Client connected. Debugging...')
- # Empty the command line arguments.
- sys.argv = [args.script]
- # Set the current working directory.
- if args.current_working_directory == None:
- os.chdir(os.path.realpath(os.path.dirname(args.script)))
- else:
- os.chdir(os.path.realpath(args.current_working_directory))
- # Append the script path to "sys.path".
- sys.path.insert(0, os.path.realpath(os.path.dirname(args.script)))
- # Append the custom script arguments.
- args_list = json.loads(args.json_list_args)
- for arg in args_list:
- sys.argv.append(arg)
- # Execute the script.
- execfile(args.script)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement