diff options
Diffstat (limited to 'SharedSupport/Default Bundles/Toggle JSON Format.spBundle')
-rw-r--r-- | SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist b/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist index 6476d86b..39555369 100644 --- a/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist +++ b/SharedSupport/Default Bundles/Toggle JSON Format.spBundle/command.plist @@ -9,10 +9,10 @@ <key>command</key> <string>DATA=$(cat) -FORMAT=$(echo "$DATA" | head -n 1 | perl -e '$l=<>;print "1" if($l=~m/^\s*\{\s*$/)') +FORMAT=$(echo "$DATA" | head -n 1 | perl -e '$l=<>;if($l=~m/^\s*\{\s*$/) {print "1";} else {print "2";}') # if FORMAT == 1 then serialize JSON data otherwise pretty print them -if [ "$FORMAT" == 1 ]; then +if [ "$FORMAT" -eq "1" ]; then DATA=$(echo "$DATA" | php -r ' $jsonData = ""; @@ -20,6 +20,10 @@ if [ "$FORMAT" == 1 ]; then while($d = fgets($inputStream)) { $jsonData .= $d; } print json_encode(json_decode($jsonData)); ') + if [ "$DATA" == "null" ]; then + echo "<font>An error occured while serializing JSON data!</font>" + exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP + fi else @@ -30,7 +34,7 @@ fi # if there's a need to preserve Unicode characters remove the first to characters of the following line # DATA=$(echo "$DATA" | perl -Xpe 'binmode STDIN,":utf8";binmode STDOUT,":utf8";s/\\u([0-9A-F]{4})/chr(hex($1))/ieg') -echo "$DATA"</string> +printf "%b" "$DATA"</string> <key>contact</key> <string>znvy@ovovxb.qr</string> <key>description</key> |