summaryrefslogtreecommitdiffstats
path: root/Mac/scripts/EditPythonPrefs.py
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2003-11-19 14:34:18 (GMT)
commit28ecf70db57828db2ca279643bf9aeca7662f35c (patch)
tree09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/scripts/EditPythonPrefs.py
parent6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff)
downloadcpython-28ecf70db57828db2ca279643bf9aeca7662f35c.zip
cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.gz
cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.bz2
Getting rid of support for MacOS9 and earlier. This is the first step,
and the biggest in size, but probably the easiest. Hunting through the source code comes next.
Diffstat (limited to 'Mac/scripts/EditPythonPrefs.py')
-rw-r--r--Mac/scripts/EditPythonPrefs.py213
1 files changed, 0 insertions, 213 deletions
diff --git a/Mac/scripts/EditPythonPrefs.py b/Mac/scripts/EditPythonPrefs.py
deleted file mode 100644
index 64c5218..0000000
--- a/Mac/scripts/EditPythonPrefs.py
+++ /dev/null
@@ -1,213 +0,0 @@
-"""Edit the Python Preferences file."""
-#
-# This program is getting more and more clunky. It should really
-# be rewritten in a modeless way some time soon.
-
-from Carbon.Dlg import *
-from Carbon.Events import *
-from Carbon.Res import *
-from Carbon import Controls
-import string
-import struct
-import macfs
-import MacOS
-import os
-import sys
-from Carbon import Res # For Res.Error
-import pythonprefs
-import macresource
-import EasyDialogs
-try:
- from Carbon import Help
-except ImportError:
- Help = None
-
-# resource IDs in our own resources (dialogs, etc)
-MESSAGE_ID = 256
-
-DIALOG_ID = 511
-TEXT_ITEM = 1
-OK_ITEM = 2
-CANCEL_ITEM = 3
-DIR_ITEM = 4
-TITLE_ITEM = 5
-OPTIONS_ITEM = 7
-HELP_ITEM = 9
-
-# The options dialog. There is a correspondence between
-# the dialog item numbers and the option.
-OPT_DIALOG_ID = 510
-
-# Map dialog item numbers to option names (and the reverse)
-opt_dialog_map = [
- None,
- None,
- None,
- "inspect",
- "verbose",
- "optimize",
- "unbuffered",
- "debugging",
- "tabwarn",
- "nosite",
- "nonavservice",
- "nointopt",
- "noargs",
- "delayconsole",
- "divisionwarn",
- "unixnewlines",
- ]
-opt_dialog_dict = {}
-for i in range(len(opt_dialog_map)):
- if opt_dialog_map[i]:
- opt_dialog_dict[opt_dialog_map[i]] = i
-# 1 thru 10 are the options
-# The GUSI creator/type and delay-console
-OD_CREATOR_ITEM = 20
-OD_TYPE_ITEM = 21
-OD_OK_ITEM = 1
-OD_CANCEL_ITEM = 2
-OD_HELP_ITEM = 22
-OD_KEEPALWAYS_ITEM = 16
-OD_KEEPOUTPUT_ITEM = 17
-OD_KEEPERROR_ITEM = 18
-OD_KEEPNEVER_ITEM = 19
-
-def optinteract(options):
- """Let the user interact with the options dialog"""
- d = GetNewDialog(OPT_DIALOG_ID, -1)
- htext = d.GetDialogItemAsControl(OD_CREATOR_ITEM)
- SetDialogItemText(htext, options['creator'])
- htext = d.GetDialogItemAsControl(OD_TYPE_ITEM)
- SetDialogItemText(htext, options['type'])
- d.SetDialogDefaultItem(OD_OK_ITEM)
- d.SetDialogCancelItem(OD_CANCEL_ITEM)
- if not Help:
- d.HideDialogItem(OD_HELP_ITEM)
- while 1:
- for name in opt_dialog_dict.keys():
- num = opt_dialog_dict[name]
- ctl = d.GetDialogItemAsControl(num)
- ctl.SetControlValue(options[name])
- ctl = d.GetDialogItemAsControl(OD_KEEPALWAYS_ITEM)
- ctl.SetControlValue(options['keep_console'] == 3)
- ctl = d.GetDialogItemAsControl(OD_KEEPOUTPUT_ITEM)
- ctl.SetControlValue(options['keep_console'] == 1)
- ctl = d.GetDialogItemAsControl(OD_KEEPERROR_ITEM)
- ctl.SetControlValue(options['keep_console'] == 2)
- ctl = d.GetDialogItemAsControl(OD_KEEPNEVER_ITEM)
- ctl.SetControlValue(options['keep_console'] == 0)
- n = ModalDialog(None)
- if n == OD_OK_ITEM:
- htext = d.GetDialogItemAsControl(OD_CREATOR_ITEM)
- ncreator = GetDialogItemText(htext)
- htext = d.GetDialogItemAsControl(OD_TYPE_ITEM)
- ntype = GetDialogItemText(htext)
- if len(ncreator) == 4 and len(ntype) == 4:
- options['creator'] = ncreator
- options['type'] = ntype
- return options
- else:
- MacOS.SysBeep()
- elif n == OD_CANCEL_ITEM:
- return
- elif n in (OD_CREATOR_ITEM, OD_TYPE_ITEM):
- pass
- elif n == OD_KEEPALWAYS_ITEM:
- options['keep_console'] = 3;
- elif n == OD_KEEPOUTPUT_ITEM:
- options['keep_console'] = 1;
- elif n == OD_KEEPERROR_ITEM:
- options['keep_console'] = 2;
- elif n == OD_KEEPNEVER_ITEM:
- options['keep_console'] = 0;
- elif n == OD_HELP_ITEM and Help:
- onoff = Help.HMGetBalloons()
- Help.HMSetBalloons(not onoff)
- elif 1 <= n <= len(opt_dialog_map):
- options[opt_dialog_map[n]] = (not options[opt_dialog_map[n]])
-
-
-def interact(options, title):
- """Let the user interact with the dialog"""
- try:
- # Try to go to the "correct" dir for GetDirectory
- os.chdir(options['dir'].as_pathname())
- except os.error:
- pass
- d = GetNewDialog(DIALOG_ID, -1)
- htext = d.GetDialogItemAsControl(TITLE_ITEM)
- SetDialogItemText(htext, title)
- path_ctl = d.GetDialogItemAsControl(TEXT_ITEM)
- data = string.joinfields(options['path'], '\r')
- path_ctl.SetControlData(Controls.kControlEditTextPart, Controls.kControlEditTextTextTag, data)
-
- d.SelectDialogItemText(TEXT_ITEM, 0, 32767)
- d.SelectDialogItemText(TEXT_ITEM, 0, 0)
-## d.SetDialogDefaultItem(OK_ITEM)
- d.SetDialogCancelItem(CANCEL_ITEM)
- if not Help:
- d.HideDialogItem(HELP_ITEM)
- d.GetDialogWindow().ShowWindow()
- d.DrawDialog()
- while 1:
- n = ModalDialog(None)
- if n == OK_ITEM:
- break
- if n == CANCEL_ITEM:
- return None
-## if n == REVERT_ITEM:
-## return [], pythondir
- if n == DIR_ITEM:
- fss = EasyDialogs.AskFolder(message='Select python home folder:',
- wanted=macfs.FSSpec)
- if fss:
- options['dir'] = fss
- elif n == HELP_ITEM and Help:
- onoff = Help.HMGetBalloons()
- Help.HMSetBalloons(not onoff)
- if n == OPTIONS_ITEM:
- noptions = options
- for k in options.keys():
- noptions[k] = options[k]
- noptions = optinteract(noptions)
- if noptions:
- options = noptions
- data = path_ctl.GetControlData(Controls.kControlEditTextPart, Controls.kControlEditTextTextTag)
- tmp = string.splitfields(data, '\r')
- newpath = []
- for i in tmp:
- if i:
- newpath.append(i)
- options['path'] = newpath
- return options
-
-
-def edit_preferences():
- handler = pythonprefs.PythonOptions()
- options = handler.load()
- if options['noargs']:
- EasyDialogs.Message('Warning: system-wide sys.argv processing is off.\nIf you dropped an applet I have not seen it.')
- result = interact(options, 'System-wide preferences')
- if result:
- handler.save(result)
-
-def edit_applet(name):
- handler = pythonprefs.AppletOptions(name)
- result = interact(handler.load(), os.path.split(name)[1])
- if result:
- handler.save(result)
-
-def main():
- macresource.need('DLOG', DIALOG_ID, 'EditPythonPrefs.rsrc')
-
- MacOS.SchedParams(1, 0)
- if len(sys.argv) <= 1:
- edit_preferences()
- else:
- for appl in sys.argv[1:]:
- edit_applet(appl)
-
-
-if __name__ == '__main__':
- main()