source: titan/mediathek/localhoster/lib/python2.7/plat-mac/icopen.py @ 40660

Last change on this file since 40660 was 40660, checked in by obi, 7 years ago

next test

File size: 2.0 KB
Line 
1"""icopen patch
2
3OVERVIEW
4
5icopen patches MacOS Python to use the Internet Config file mappings to select
6the type and creator for a file.
7
8Version 1 released to the public domain 3 November 1999
9by Oliver Steele (steele@cs.brandeis.edu).
10
11DETAILS
12
13This patch causes files created by Python's open(filename, 'w') command (and
14by functions and scripts that call it) to set the type and creator of the file
15to the type and creator associated with filename's extension (the
16portion of the filename after the last period), according to Internet Config.
17Thus, a script that creates a file foo.html will create one that opens in whatever
18browser you've set to handle *.html files, and so on.
19
20Python IDE uses its own algorithm to select the type and creator for saved
21editor windows, so this patch won't effect their types.
22
23As of System 8.6 at least, Internet Config is built into the system, and the
24file mappings are accessed from the Advanced pane of the Internet control
25panel.  User Mode (in the Edit menu) needs to be set to Advanced in order to
26access this pane.
27
28INSTALLATION
29
30Put this file in your Python path, and create a file named {Python}:sitecustomize.py
31that contains:
32        import icopen
33
34(If {Python}:sitecustomizer.py already exists, just add the 'import' line to it.)
35
36The next time you launch PythonInterpreter or Python IDE, the patch will take
37effect.
38"""
39
40from warnings import warnpy3k
41warnpy3k("In 3.x, the icopen module is removed.", stacklevel=2)
42
43import __builtin__
44
45_builtin_open = globals().get('_builtin_open', __builtin__.open)
46
47def _open_with_typer(*args):
48    file = _builtin_open(*args)
49    filename = args[0]
50    mode = 'r'
51    if args[1:]:
52        mode = args[1]
53    if mode[0] == 'w':
54        from ic import error, settypecreator
55        try:
56            settypecreator(filename)
57        except error:
58            pass
59    return file
60
61__builtin__.open = _open_with_typer
62
63"""
64open('test.py')
65_open_with_typer('test.py', 'w')
66_open_with_typer('test.txt', 'w')
67_open_with_typer('test.html', 'w')
68_open_with_typer('test.foo', 'w')
69"""
Note: See TracBrowser for help on using the repository browser.