Module Expr Str Import alias Assign NameStore Call AttributeLoad Call NameLoad attr Str AttributeLoad NameLoad attr FunctionDef arguments args defaults vararg body Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore Str If SubscriptLoad NameLoad Slice Num body Assign NameStore SubscriptLoad NameLoad Index Num If CompareEq SubscriptLoad NameLoad Index Num Str body ImportFrom alias alias TryExcept body Expr Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Pass Return NameLoad decorator_list Assign AttributeStore NameLoad attr NameLoad Expr Str
N/A N/A icopen patch

OVERVIEW

icopen patches MacOS Python to use the Internet Config file mappings to select
the type and creator for a file.

Version 1 released to the public domain 3 November 1999
by Oliver Steele (steele@cs.brandeis.edu).

DETAILS

This patch causes files created by Python's open(filename, 'w') command (and
by functions and scripts that call it) to set the type and creator of the file
to the type and creator associated with filename's extension (the
portion of the filename after the last period), according to Internet Config.
Thus, a script that creates a file foo.html will create one that opens in whatever
browser you've set to handle *.html files, and so on.

Python IDE uses its own algorithm to select the type and creator for saved
editor windows, so this patch won't effect their types.

As of System 8.6 at least, Internet Config is built into the system, and the
file mappings are accessed from the Advanced pane of the Internet control
panel.  User Mode (in the Edit menu) needs to be set to Advanced in order to
access this pane.

INSTALLATION

Put this file in your Python path, and create a file named {Python}:sitecustomize.py
that contains:
        import icopen

(If {Python}:sitecustomizer.py already exists, just add the 'import' line to it.)

The next time you launch PythonInterpreter or Python IDE, the patch will take
effect.
 N/A __builtin__ N/A _builtin_open N/A N/A N/A globals get _builtin_open N/A __builtin__ open _open_with_typer N/A N/A N/A args N/A N/A file N/A _builtin_open args N/A filename N/A args N/A 0 N/A mode r N/A N/A args N/A 1 N/A N/A mode N/A args N/A 1 N/A N/A N/A mode N/A 0 w N/A ic error settypecreator N/A N/A N/A N/A settypecreator filename N/A N/A N/A error N/A N/A N/A file N/A N/A N/A __builtin__ open _open_with_typer N/A 
open('test.py')
_open_with_typer('test.py', 'w')
_open_with_typer('test.txt', 'w')
_open_with_typer('test.html', 'w')
_open_with_typer('test.foo', 'w')
