<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>author</key> <string>Hans-Jörg Bibiko</string> <key>category</key> <string>Open</string> <key>command</key> <string> # Remove hand-shake files rm -f "$SP_QUERY_RESULT_FILE" rm -f "$SP_QUERY_FILE" rm -f "$SP_QUERY_RESULT_STATUS_FILE" # Check if one table is selected if [ -z "$SP_SELECTED_TABLE" ]; then echo "<font color=red>Please select a table.</font>" exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP fi # Ask for desired application - modify the list if needed open "sequelpro://$SP_PROCESS_ID@chooseItemFromList/Numbers/Microsoft Excel" # wait for Sequel Pro; status file will be written to disk if query was finished while [ 1 ] do [[ -e "$SP_QUERY_RESULT_STATUS_FILE" ]] && break sleep 0.01 done # Read the chosen list item APP=$(cat "$SP_QUERY_RESULT_FILE") # Check if user dismissed, if so bail (if $APP is empty := user pressed ESC) if [ -z "$APP" ]; then rm -f "$SP_QUERY_RESULT_FILE" rm -f "$SP_QUERY_FILE" rm -f "$SP_QUERY_RESULT_STATUS_FILE" exit 0 fi # Remove hand-shake files rm -f "$SP_QUERY_RESULT_FILE" rm -f "$SP_QUERY_FILE" rm -f "$SP_QUERY_RESULT_STATUS_FILE" # Query for desired data echo "SELECT * FROM \`${SP_SELECTED_TABLE//\`/\`\`}\`" > "$SP_QUERY_FILE" open "sequelpro://$SP_PROCESS_ID@passToDoc/ExecuteQuery/csv" # wait for Sequel Pro; status file will be written to disk if query # was finished while [ 1 ] do [[ -e "$SP_QUERY_RESULT_STATUS_FILE" ]] && break sleep 0.1 done # Check returned status 0 := no error; 1 := error RES=$(cat "$SP_QUERY_RESULT_STATUS_FILE") [[ ! -e "$SP_QUERY_RESULT_FILE" ]] && RES=1 # No sql error if [ "$RES" == "0" ]; then DATAFILENAME=$(date "+sp_data%H%M%S.csv") mv "$SP_QUERY_RESULT_FILE" ~/Desktop/$DATAFILENAME open -a "$APP" ~/Desktop/$DATAFILENAME echo "$APP is opening data file ~/Desktop/$DATAFILENAME." else # if error message will be saved in result file echo "<font color=red>" cat "$SP_QUERY_RESULT_FILE" echo "</font>" rm -f "$SP_QUERY_RESULT_FILE" rm -f "$SP_QUERY_FILE" rm -f "$SP_QUERY_RESULT_STATUS_FILE" exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP fi rm -f "$SP_QUERY_RESULT_FILE" rm -f "$SP_QUERY_FILE" rm -f "$SP_QUERY_RESULT_STATUS_FILE" </string> <key>contact</key> <string>znvy@ovovxb.qr</string> <key>description</key> <string>If one table is selected in the Table List it will write the table data CSV formatted at "~/Desktop/sp_dataxxxxx.csv" to disk (xxxxx := timestamp) and asks for the application with which the data should be opened. Version 1.0</string> <key>internalKeyEquivalent</key> <dict> <key>characters</key> <string>O</string> <key>keyCode</key> <integer>31</integer> <key>modifierFlags</key> <integer>1835008</integer> </dict> <key>keyEquivalent</key> <string>^~@o</string> <key>name</key> <string>Open selected table with…</string> <key>output</key> <string>showastexttooltip</string> <key>scope</key> <string>general</string> <key>tooltip</key> <string>Open selected table </string> <key>uuid</key> <string>8F406B0A-23A4-4436-A348-E248A61BA59C</string> <key>isDefaultBundle</key> <true/> </dict> </plist>