annotate Mac/Demo/scripting/testeudora.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents b213d258ff32
children 3e6d688b0d2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3274
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """A test program that allows us to control Eudora"""
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 import sys
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 import aetools
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 import Eudora_Suite
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 import Required_Suite
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 import MacOS
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 class Eudora(aetools.TalkTo, Required_Suite.Required_Suite, \
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 Eudora_Suite.Eudora_Suite):
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 """A class that can talk to Eudora"""
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 pass
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 # The Creator signature of eudora:
4318
97d3652e57d3 - Regenerated suites
Jack Jansen <jack.jansen@cwi.nl>
parents: 3467
diff changeset
15 SIGNATURE="CSOm"
3274
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 def main():
4318
97d3652e57d3 - Regenerated suites
Jack Jansen <jack.jansen@cwi.nl>
parents: 3467
diff changeset
18 talker = Eudora(SIGNATURE, start=1)
3274
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 while 1:
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 print 'get, put, quit (eudora) or exit (this program) ?'
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 line = sys.stdin.readline()
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 try:
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 if line[0] == 'g':
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 talker.connect(checking=1)
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 elif line[0] == 'p':
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 talker.connect(sending=1)
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 elif line[0] == 'q':
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 talker.quit()
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 elif line[0] == 'e':
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 break
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 except MacOS.Error, arg:
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 if arg[0] == -609:
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 print 'Connection invalid, is eudora running?'
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 else:
4556
b213d258ff32 Added reference to pdf documentation and bbpy, correctly explained
Jack Jansen <jack.jansen@cwi.nl>
parents: 4318
diff changeset
35 print 'MacOS Error:', arg[1]
b213d258ff32 Added reference to pdf documentation and bbpy, correctly explained
Jack Jansen <jack.jansen@cwi.nl>
parents: 4318
diff changeset
36 except aetools.Error, arg:
b213d258ff32 Added reference to pdf documentation and bbpy, correctly explained
Jack Jansen <jack.jansen@cwi.nl>
parents: 4318
diff changeset
37 print 'Eudora returned error:', arg
3274
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38
975ccfa721f6 Example: control eudora using AppleEvents
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 main()