I had an applescript that used to work but now it no longer does. I'm not sure what's wrong with it but if someone could help me out it'd be greatly appreciated. Everytime I run this it returns "msng" and i can't figure out how to fix it.
Code:
tell application "Safari"
quit
end tell
set defaultAnswer to ""
set cancelButton to "Cancel"
set buttonResearch to "ReSearch"
display dialog "Query: " default answer defaultAnswer buttons {cancelButton, buttonResearch} default button buttonResearch cancel button cancelButton with icon 1
copy the result as list to {button_pressed, text_returned}
if (button_pressed is buttonResearch) and (text_returned is not "") then
set theUrl to "http://www.wolframalpha.com/input/?i=" & encode_text(text_returned, true, false)
tell application "Safari"
tell window 1 to set current tab to (make new tab with properties {URL:theUrl})
tell me to say "let me look that up for you now"
tell document 1
repeat
delay 2
if (do JavaScript "document.readyState") = "complete" then exit repeat
end repeat
do JavaScript "document.getElementById('pod_0200').getElementsByClassName('action subpod-copyablept ')[0].click()"
set theAnswer to do JavaScript "document.body.lastChild.getElementsByTagName('pre')[0].innerHTML;"
end tell
end tell
activate
display dialog theAnswer
end if
tell application "Safari"
quit
end tell
on encode_char(this_char)
set the ASCII_num to (the ASCII number this_char)
set the hex_list to {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}
set x to item ((ASCII_num div 16) + 1) of the hex_list
set y to item ((ASCII_num mod 16) + 1) of the hex_list
return ("%" & x & y) as string
end encode_char
on encode_text(this_text, encode_URL_A, encode_URL_B)
set the standard_characters to "abcdefghijklmnopqrstuvwxyz0123456789"
set the URL_A_chars to "$+!'/?;&@=#%><{}[]\"~`^\\|*"
set the URL_B_chars to ".-_:"
set the acceptable_characters to the standard_characters
if encode_URL_A is false then set the acceptable_characters to the acceptable_characters & the URL_A_chars
if encode_URL_B is false then set the acceptable_characters to the acceptable_characters & the URL_B_chars
set the encoded_text to ""
repeat with this_char in this_text
if this_char is in the acceptable_characters then
set the encoded_text to (the encoded_text & this_char)
else
set the encoded_text to (the encoded_text & encode_char(this_char)) as string
end if
end repeat
return the encoded_text
end encode_text