annotate Mac/scripts/EditPythonPrefs.py @ 6275:f9fbde75c536 legacy-trunk

Major overhaul: this is now little more than a user interface, the preference handling code is in modules pythonprefs and preferences. This should finally make it easier for someone (Just?) to write a decent interface to preference setting, and it'll allow setting initial sys.path and such from ConfigurePython.
author Jack Jansen <jack.jansen@cwi.nl>
date Mon, 08 Sep 1997 13:19:42 +0000
parents 77135da9f36c
children ebd099889721
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """Edit the Python Preferences file."""
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
2 #
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
3 # This program is getting more and more clunky. It should really
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
4 # be rewritten in a modeless way some time soon.
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 from Dlg import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 from Events import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 from Res import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 import string
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 import struct
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 import macfs
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 import MacOS
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 import os
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 import sys
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 import Res # For Res.Error
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
16 import pythonprefs
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
17 import EasyDialogs
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
18
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 # resource IDs in our own resources (dialogs, etc)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 MESSAGE_ID = 256
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21
4398
ec4c42bea69d Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents: 4235
diff changeset
22 DIALOG_ID = 511
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 TEXT_ITEM = 1
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 OK_ITEM = 2
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 CANCEL_ITEM = 3
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
26 DIR_ITEM = 4
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
27 TITLE_ITEM = 5
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
28 OPTIONS_ITEM = 7
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
29
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
30 # The options dialog. There is a correspondence between
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
31 # the dialog item numbers and the option.
4398
ec4c42bea69d Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents: 4235
diff changeset
32 OPT_DIALOG_ID = 510
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
33
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
34 # Map dialog item numbers to option names (and the reverse)
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
35 opt_dialog_map = [
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
36 None,
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
37 "inspect",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
38 "verbose",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
39 "optimize",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
40 "unbuffered",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
41 "debugging",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
42 "keepopen",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
43 "keeperror",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
44 "nointopt",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
45 "noargs",
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
46 "delayconsole"]
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
47 opt_dialog_dict = {}
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
48 for i in range(len(opt_dialog_map)):
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
49 if opt_dialog_map[i]:
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
50 opt_dialog_dict[opt_dialog_map[i]] = i
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
51 # 1 thru 10 are the options
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
52 # The GUSI creator/type and delay-console
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
53 OD_CREATOR_ITEM = 11
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
54 OD_TYPE_ITEM = 12
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
55 OD_OK_ITEM = 13
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
56 OD_CANCEL_ITEM = 14
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
58 def optinteract(options):
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
59 """Let the user interact with the options dialog"""
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
60 d = GetNewDialog(OPT_DIALOG_ID, -1)
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
61 tp, h, rect = d.GetDialogItem(OD_CREATOR_ITEM)
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
62 SetDialogItemText(h, options['creator'])
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
63 tp, h, rect = d.GetDialogItem(OD_TYPE_ITEM)
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
64 SetDialogItemText(h, options['type'])
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
65 d.SetDialogDefaultItem(OD_OK_ITEM)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
66 d.SetDialogCancelItem(OD_CANCEL_ITEM)
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
67
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
68 while 1:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
69 for name in opt_dialog_dict.keys():
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
70 num = opt_dialog_dict[name]
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
71 tp, h, rect = d.GetDialogItem(num)
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
72 h.as_Control().SetControlValue(options[name])
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
73 n = ModalDialog(None)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
74 if n == OD_OK_ITEM:
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
75 tp, h, rect = d.GetDialogItem(OD_CREATOR_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
76 ncreator = GetDialogItemText(h)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
77 tp, h, rect = d.GetDialogItem(OD_TYPE_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
78 ntype = GetDialogItemText(h)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
79 if len(ncreator) == 4 and len(ntype) == 4:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
80 options['creator'] = ncreator
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
81 options['type'] = ntype
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
82 return options
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
83 else:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
84 MacOS.SysBeep()
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
85 elif n == OD_CANCEL_ITEM:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
86 return
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
87 elif n in (OD_CREATOR_ITEM, OD_TYPE_ITEM):
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
88 pass
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
89 elif 1 <= n <= len(opt_dialog_map):
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
90 options[opt_dialog_map[n]] = (not options[opt_dialog_map[n]])
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
91
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
92
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
93 def interact(options, title):
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
94 """Let the user interact with the dialog"""
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
95 try:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
96 # Try to go to the "correct" dir for GetDirectory
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
97 os.chdir(options['dir'].as_pathname())
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
98 except os.error:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
99 pass
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
100 d = GetNewDialog(DIALOG_ID, -1)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
101 tp, h, rect = d.GetDialogItem(TITLE_ITEM)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
102 SetDialogItemText(h, title)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
103 tp, h, rect = d.GetDialogItem(TEXT_ITEM)
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
104 ## SetDialogItemText(h, string.joinfields(list, '\r'))
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
105 h.data = string.joinfields(options['path'], '\r')
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
106 d.SelectDialogItemText(TEXT_ITEM, 0, 32767)
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
107 d.SelectDialogItemText(TEXT_ITEM, 0, 0)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
108 ## d.SetDialogDefaultItem(OK_ITEM)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
109 d.SetDialogCancelItem(CANCEL_ITEM)
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
110 d.GetDialogWindow().ShowWindow()
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
111 d.DrawDialog()
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
112 while 1:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
113 n = ModalDialog(None)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
114 if n == OK_ITEM:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
115 break
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
116 if n == CANCEL_ITEM:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
117 return None
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
118 ## if n == REVERT_ITEM:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
119 ## return [], pythondir
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
120 if n == DIR_ITEM:
2979
7eea9b426802 Added prompts to various file-select dialogs
Jack Jansen <jack.jansen@cwi.nl>
parents: 2873
diff changeset
121 fss, ok = macfs.GetDirectory('Select python home folder:')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
122 if ok:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
123 options['dir'] = fss
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
124 if n == OPTIONS_ITEM:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
125 noptions = options
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
126 for k in options.keys():
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
127 noptions[k] = options[k]
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
128 noptions = optinteract(noptions)
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
129 if noptions:
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
130 options = noptions
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
131 tmp = string.splitfields(h.data, '\r')
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
132 newpath = []
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
133 for i in tmp:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
134 if i:
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
135 newpath.append(i)
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
136 options['path'] = newpath
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
137 return options
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
138
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
139
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
140 def edit_preferences():
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
141 handler = pythonprefs.PythonOptions()
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
142 result = interact(handler.load(), 'System-wide preferences')
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
143 if result:
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
144 handler.save(result)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
145
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
146 def edit_applet(name):
6275
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
147 handler = pythonprefs.AppletOptions(name)
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
148 result = interact(handler.load(), os.path.split(name)[1])
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
149 if result:
f9fbde75c536 Major overhaul: this is now little more than a user interface, the
Jack Jansen <jack.jansen@cwi.nl>
parents: 6174
diff changeset
150 handler.save(result)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
151
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
152 def main():
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
153 try:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
154 h = OpenResFile('EditPythonPrefs.rsrc')
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
155 except Res.Error:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
156 pass # Assume we already have acces to our own resource
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
157
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
158 if len(sys.argv) <= 1:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
159 edit_preferences()
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
160 else:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
161 for appl in sys.argv[1:]:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
162 edit_applet(appl)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
163
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
164
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
165 if __name__ == '__main__':
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
166 main()