From 79b4e14d1965a9704941dfe0db0d59875820ee73 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 12 May 2017 16:53:56 +0400 Subject: [PATCH] add debug support to django runner --- plugins/c9.ide.run/runners-docker/Django.run | 32 ++++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/plugins/c9.ide.run/runners-docker/Django.run b/plugins/c9.ide.run/runners-docker/Django.run index 9dc68be6..b42afde8 100644 --- a/plugins/c9.ide.run/runners-docker/Django.run +++ b/plugins/c9.ide.run/runners-docker/Django.run @@ -1,7 +1,33 @@ { - "cmd": [ - "bash", "--login", "-c", "$python manage.py migrate && $python manage.py runserver $ip:$port" + "script": [ + "if [ \"$debug\" == true ]; then ", + " $python manage.py migrate &&\\", + " python2 -m ikpdb --ikpdb-port=15471 --ikpdb-working-directory=\"$project_path\" manage.py runserver $ip:$port --noreload", + "else", + " $python manage.py migrate && $python manage.py runserver $ip:$port", + "fi", + "checkExitCode() {", + " if [ $1 ] && [ \"$debug\" == true ]; then ", + " python -m ikpdb 2>&1 | grep -q 'No module' && echo '", + " To use python debugger install ikpdb by running: ", + " sudo apt-get update;", + " sudo apt-get install python-dev;", + " sudo pip install ikpdb;", + " '", + " fi", + " return $1", + "}", + "checkExitCode $?" ], + "debugport": 15471, + "$debugDefaultState": false, + "debugger": "pythondebug", + "selector": "^.*\\.(python|py)$", + "python_version": "python2", + "working_dir": "$project_path", - "info": "Your code is running at \\033[01;34m$url\\033[00m.\n\\033[01;31m" + "info": "Your code is running at \\033[01;34m$url\\033[00m.\n\\033[01;31m", + "env": { + "PYTHONPATH": "$python_path" + } } \ No newline at end of file