Mercurial > cpython-lru_cache-weakref
annotate Mac/Demo/scripting/testeudora.py @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | b213d258ff32 |
| children | 3e6d688b0d2a |
| 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 | 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 | 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() |
