From 5d2c07587111865414dfb11bed6588c3a2970295 Mon Sep 17 00:00:00 2001 From: Abbas Egbeyemi Date: Sat, 21 Nov 2020 10:35:58 +0000 Subject: [PATCH 1/2] REF: ISSUE #171 When using a file action to open a project path which contains a space in it. The pycharm cannot open it because spaces in paths are not properly escaped. This fix uses sed to properly escape spaces in file paths. --- info.plist | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/info.plist b/info.plist index a602e5e..f1024f5 100644 --- a/info.plist +++ b/info.plist @@ -1115,19 +1115,20 @@ function jsonval { local json=$1 local var_name=$2 - temp=`echo $json | sed 's/\\\\\//\//g' | sed 's/[{}]//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | sed 's/\"\:\"/\|/g' | sed 's/[\,]/ /g' | sed 's/\"//g' | grep -w $var_name` - echo ${temp##*|} | cut -d":" -f2 | tr -d "'" + temp=$(echo "$json" | sed 's/\\\\\//\//g' | sed 's/[{}]//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | sed 's/\"\:\"/\|/g' | sed 's/[\,]/ /g' | sed 's/\"//g' | grep -w "$var_name") + echo "${temp##*|}" | cut -d":" -f2 | tr -d "'" } - QUERY="{query}" -BIN=`jsonval $QUERY 'jb_bin'` -PROJECT_NAME=`jsonval $QUERY 'jb_project_name'` -PROJECT_PATH=`jsonval $QUERY 'arg'` +BIN=$(jsonval $QUERY 'jb_bin') +PROJECT_NAME=$(jsonval $QUERY 'jb_project_name') + +#Using sed to properly escape spaces in the PROJECT_PATH +PROJECT_PATH=$(jsonval "$QUERY" 'arg' | sed 's: :\\ :g' | sed -e 's:\\ : :1') -eval "${BIN} ${PROJECT_PATH}" +eval "${BIN}" "${PROJECT_PATH}" -echo ${PROJECT_NAME} +echo "${PROJECT_NAME}" scriptargtype 0 scriptfile From eae780527745b98efbdc88838069ec3073c022b2 Mon Sep 17 00:00:00 2001 From: Abbas Egbeyemi Date: Sat, 21 Nov 2020 10:43:57 +0000 Subject: [PATCH 2/2] REF: ISSUE #171 Changed <= back to <= --- info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/info.plist b/info.plist index f1024f5..106d19a 100644 --- a/info.plist +++ b/info.plist @@ -1115,7 +1115,7 @@ function jsonval { local json=$1 local var_name=$2 - temp=$(echo "$json" | sed 's/\\\\\//\//g' | sed 's/[{}]//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | sed 's/\"\:\"/\|/g' | sed 's/[\,]/ /g' | sed 's/\"//g' | grep -w "$var_name") + temp=$(echo "$json" | sed 's/\\\\\//\//g' | sed 's/[{}]//g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' | sed 's/\"\:\"/\|/g' | sed 's/[\,]/ /g' | sed 's/\"//g' | grep -w "$var_name") echo "${temp##*|}" | cut -d":" -f2 | tr -d "'" }