c_prog_90
c_prog_90

Reputation: 949

syntax error near unexpected token `<' from Applescript to Python

I am using the following command to pass a string to python from Applescript

String mytext contains the HTML body of an email starting with <...

Applescript

display dialog (do shell script "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py" & mytext)

Python

#!/usr/bin/env python

import sys
import string

def main():
    print sys.argv[1:]

if __name__ == "__main__":
    main()

How can I rectify this error?

Upvotes: 0

Views: 775

Answers (2)

Angel O&#39;Sphere
Angel O&#39;Sphere

Reputation: 2665

The problem is you are executing a shell script ... by constructing a long line of text. "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py" & " ... ")

but the "<" sign and the ">" sign have a special meaning for the shell.

Upvotes: 0

bradley.ayers
bradley.ayers

Reputation: 38392

You don't want to pass the HTML as an argument to the Python script. Instead, do something like:

display dialog (do shell script "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/ test.py < webpage.html")

print sys.stdin.read()

Upvotes: 2

Related Questions