summaryrefslogtreecommitdiffstats
path: root/Mac/scripts/RunLibScript.py
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2001-08-27 21:17:44 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2001-08-27 21:17:44 (GMT)
commit8f2b13efce66d1ce66060d55f26753d0e593d19f (patch)
tree0bbebe473c62673fcb94908db9674bd4743aa3f8 /Mac/scripts/RunLibScript.py
parentcd8a127e1a0dac4a4cd4b12bdffe8a17dd75cef9 (diff)
downloadcpython-8f2b13efce66d1ce66060d55f26753d0e593d19f.zip
cpython-8f2b13efce66d1ce66060d55f26753d0e593d19f.tar.gz
cpython-8f2b13efce66d1ce66060d55f26753d0e593d19f.tar.bz2
These have long outlived there usefulness, in my opinion. Moved to Unsupported.
Diffstat (limited to 'Mac/scripts/RunLibScript.py')
-rw-r--r--Mac/scripts/RunLibScript.py111
1 files changed, 0 insertions, 111 deletions
diff --git a/Mac/scripts/RunLibScript.py b/Mac/scripts/RunLibScript.py
deleted file mode 100644
index 6ecf643..0000000
--- a/Mac/scripts/RunLibScript.py
+++ /dev/null
@@ -1,111 +0,0 @@
-"""Import a module while pretending its name is __main__. This
-can be used to run scripts from the PackedLib resource file while pretending
-they have been double-clicked."""
-
-import imp
-import sys
-import os
-import string
-from Carbon import Dlg
-import macfs
-
-DIALOG_ID = 512
-OK = 1
-CANCEL = 2
-SCRIPTNAME=3
-ARGV=4
-STDIN_CONS=5
-STDIN_FILE=6
-STDOUT_CONS=7
-STDOUT_FILE=8
-WORKING_DIR=9
-PAUSE=10
-
-def import_as_main(name):
- fp, path, (suffix, mode, type) = imp.find_module(name)
- if type == imp.PY_SOURCE:
- imp.load_source('__main__', path, fp)
- elif type == imp.PY_COMPILED:
- imp.load_compiled('__main__', path, fp)
- elif type == imp.PY_RESOURCE:
- imp.load_resource('__main__', path)
-
-def interact():
- d = Dlg.GetNewDialog(DIALOG_ID, -1)
- wdir = stdin = stdout = None
- pause = 0
-
- tp, in_c_h, rect = d.GetDialogItem(STDIN_CONS)
- tp, in_f_h, rect = d.GetDialogItem(STDIN_FILE)
- tp, out_c_h, rect = d.GetDialogItem(STDOUT_CONS)
- tp, out_f_h, rect = d.GetDialogItem(STDOUT_FILE)
- tp, pause_h, rect = d.GetDialogItem(PAUSE)
- in_c_h = in_c_h.as_Control()
- in_f_h = in_f_h.as_Control()
- out_c_h = out_c_h.as_Control()
- out_f_h = out_f_h.as_Control()
- pause_h = pause_h.as_Control()
-
- while 1:
- in_c_h.SetControlValue(not stdin)
- in_f_h.SetControlValue(not not stdin)
- out_c_h.SetControlValue(not stdout)
- out_f_h.SetControlValue(not not stdout)
- pause_h.SetControlValue(pause)
-
- n = Dlg.ModalDialog(None)
- if n == OK:
- break
- elif n == CANCEL:
- sys.exit(0)
- elif n == STDIN_CONS:
- stdin = None
- elif n == STDIN_FILE:
- fss, ok = macfs.StandardGetFile('TEXT')
- if ok:
- stdin = fss
- elif n == STDOUT_FILE:
- fss, ok = macfs.StandardPutFile('stdout:')
- if ok:
- stdout = fss
- elif n == WORKING_DIR:
- fss, ok = macfs.GetDirectory()
- if ok:
- wdir = fss
- elif n == PAUSE:
- pause = (not pause)
-
- tp, h, rect = d.GetDialogItem(SCRIPTNAME)
- name = Dlg.GetDialogItemText(h)
- tp, h, rect = d.GetDialogItem(ARGV)
- argv = Dlg.GetDialogItemText(h)
- return name, argv, stdin, stdout, wdir, pause
-
-def main():
- curdir = os.getcwd()
- from Carbon import Res
- try:
- Res.FSpOpenResFile('RunLibScript.rsrc', 1)
- except:
- pass # Assume we're an applet already
- name, argv, stdin, stdout, wdir, pause = interact()
- if not name:
- sys.exit(0)
- sys.argv = [name] + string.split(argv)
- if stdin:
- sys.stdin = open(stdin.as_pathname())
- if stdout:
- sys.stdout = open(stdout.as_pathname(), 'w')
- if wdir:
- os.chdir(wdir.as_pathname())
- else:
- os.chdir(curdir)
-
- import_as_main(name)
-
- if pause:
- sys.exit(1)
-
-if __name__ == '__main__':
- main()
-