Mercurial > cpython-lru_cache-weakref
annotate Mac/Modules/MacOS.c @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | 1dcb19216b64 |
| children | b2625acc2484 |
| rev | line source |
|---|---|
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 /*********************************************************** |
|
5079
d6b292a33cfe
Added/updated copyright notices
Jack Jansen <jack.jansen@cwi.nl>
parents:
4524
diff
changeset
|
2 Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam, |
| 2091 | 3 The Netherlands. |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 All Rights Reserved |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 Centrum or CWI not be used in advertising or publicity pertaining to |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 distribution of the software without specific, written prior permission. |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 ******************************************************************/ |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 /* Macintosh OS-specific interface */ |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 #include "Python.h" |
|
30982
e543b3f0d906
Got rid of macglue.h, replacing it by pymactoolbox.h where relevant.
Jack Jansen <jack.jansen@cwi.nl>
parents:
30975
diff
changeset
|
28 #include "pymactoolbox.h" |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 |
|
17864
be969e717b91
Include Carbon/Carbon.h in stead of universal headers, if appropriate.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17813
diff
changeset
|
30 #include <Carbon/Carbon.h> |
|
28010
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
31 #include <ApplicationServices/ApplicationServices.h> |
|
2262
03bd79432f06
- Moved interrupt code to macglue.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
2251
diff
changeset
|
32 |
|
50445
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
33 #include <arpa/inet.h> /* for ntohl, htonl */ |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
34 |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
35 |
|
48220
b219d55404e7
Another fix for 4-way universal builds, use the right #ifndef guard
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47527
diff
changeset
|
36 #ifndef HAVE_OSX105_SDK |
|
47501
c9a5f2eb720c
Fix build issue on OSX 10.4
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47473
diff
changeset
|
37 typedef SInt16 FSIORefNum; |
|
c9a5f2eb720c
Fix build issue on OSX 10.4
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47473
diff
changeset
|
38 #endif |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
39 |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 static PyObject *MacOS_Error; /* Exception MacOS.Error */ |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 |
|
19841
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19066
diff
changeset
|
42 #define PATHNAMELEN 1024 |
|
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19066
diff
changeset
|
43 |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
44 /* ----------------------------------------------------- */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
45 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
46 /* Declarations for objects of type Resource fork */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
47 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
48 typedef struct { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
49 PyObject_HEAD |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
50 FSIORefNum fRefNum; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
51 int isclosed; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
52 } rfobject; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
53 |
|
24280
1598a1e473e2
staticforward bites the dust.
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
23510
diff
changeset
|
54 static PyTypeObject Rftype; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
55 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
56 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
57 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
58 /* ---------------------------------------------------------------- */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
59 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
60 static void |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
61 do_close(rfobject *self) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
62 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
63 if (self->isclosed ) return; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
64 (void)FSCloseFork(self->fRefNum); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
65 self->isclosed = 1; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
66 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
67 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
68 static char rf_read__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
69 "Read data from resource fork" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
70 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
71 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
72 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
73 rf_read(rfobject *self, PyObject *args) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
74 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
75 long n; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
76 PyObject *v; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
77 OSErr err; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
78 ByteCount n2; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
79 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
80 if (self->isclosed) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
81 PyErr_SetString(PyExc_ValueError, "Operation on closed file"); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
82 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
83 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
84 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
85 if (!PyArg_ParseTuple(args, "l", &n)) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
86 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
87 |
|
47294
4fe192d48960
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46967
diff
changeset
|
88 v = PyBytes_FromStringAndSize((char *)NULL, n); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
89 if (v == NULL) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
90 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
91 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
92 err = FSReadFork(self->fRefNum, fsAtMark, 0, n, PyString_AsString(v), &n2); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
93 if (err && err != eofErr) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
94 PyMac_Error(err); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
95 Py_DECREF(v); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
96 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
97 } |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
98 _PyString_Resize(&v, n2); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
99 return v; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
100 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
101 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
102 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
103 static char rf_write__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
104 "Write to resource fork" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
105 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
106 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
107 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
108 rf_write(rfobject *self, PyObject *args) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
109 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
110 char *buffer; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
111 long size; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
112 OSErr err; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
113 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
114 if (self->isclosed) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
115 PyErr_SetString(PyExc_ValueError, "Operation on closed file"); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
116 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
117 } |
|
5429
ac235c9e6881
- Changed the m# format for PyArg_ParseTuple back to s#
Jack Jansen <jack.jansen@cwi.nl>
parents:
5258
diff
changeset
|
118 if (!PyArg_ParseTuple(args, "s#", &buffer, &size)) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
119 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
120 err = FSWriteFork(self->fRefNum, fsAtMark, 0, size, buffer, NULL); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
121 if (err) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
122 PyMac_Error(err); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
123 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
124 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
125 Py_INCREF(Py_None); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
126 return Py_None; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
127 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
128 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
129 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
130 static char rf_seek__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
131 "Set file position" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
132 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
133 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
134 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
135 rf_seek(rfobject *self, PyObject *args) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
136 { |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
137 long amount; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
138 int whence = SEEK_SET; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
139 int mode; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
140 OSErr err; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
141 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
142 if (self->isclosed) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
143 PyErr_SetString(PyExc_ValueError, "Operation on closed file"); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
144 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
145 } |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
146 if (!PyArg_ParseTuple(args, "l|i", &amount, &whence)) { |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
147 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
148 } |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
149 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
150 switch (whence) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
151 case SEEK_CUR: |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
152 mode = fsFromMark; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
153 break; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
154 case SEEK_END: |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
155 mode = fsFromLEOF; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
156 break; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
157 case SEEK_SET: |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
158 mode = fsFromStart; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
159 break; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
160 default: |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
161 PyErr_BadArgument(); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
162 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
163 } |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
164 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
165 err = FSSetForkPosition(self->fRefNum, mode, amount); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
166 if (err != noErr) { |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
167 PyMac_Error(err); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
168 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
169 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
170 Py_INCREF(Py_None); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
171 return Py_None; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
172 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
173 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
174 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
175 static char rf_tell__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
176 "Get file position" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
177 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
178 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
179 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
180 rf_tell(rfobject *self, PyObject *args) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
181 { |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
182 long long where; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
183 OSErr err; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
184 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
185 if (self->isclosed) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
186 PyErr_SetString(PyExc_ValueError, "Operation on closed file"); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
187 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
188 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
189 if (!PyArg_ParseTuple(args, "")) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
190 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
191 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
192 err = FSGetForkPosition(self->fRefNum, &where); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
193 if (err != noErr) { |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
194 PyMac_Error(err); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
195 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
196 } |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
197 return PyLong_FromLongLong(where); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
198 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
199 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
200 static char rf_close__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
201 "Close resource fork" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
202 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
203 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
204 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
205 rf_close(rfobject *self, PyObject *args) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
206 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
207 if (!PyArg_ParseTuple(args, "")) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
208 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
209 do_close(self); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
210 Py_INCREF(Py_None); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
211 return Py_None; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
212 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
213 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
214 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
215 static struct PyMethodDef rf_methods[] = { |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
216 {"read", (PyCFunction)rf_read, 1, rf_read__doc__}, |
|
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
217 {"write", (PyCFunction)rf_write, 1, rf_write__doc__}, |
|
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
218 {"seek", (PyCFunction)rf_seek, 1, rf_seek__doc__}, |
|
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
219 {"tell", (PyCFunction)rf_tell, 1, rf_tell__doc__}, |
|
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
220 {"close", (PyCFunction)rf_close, 1, rf_close__doc__}, |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
221 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
222 {NULL, NULL} /* sentinel */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
223 }; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
224 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
225 /* ---------- */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
226 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
227 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
228 static rfobject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
229 newrfobject(void) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
230 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
231 rfobject *self; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
232 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
233 self = PyObject_NEW(rfobject, &Rftype); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
234 if (self == NULL) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
235 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
236 self->isclosed = 1; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
237 return self; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
238 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
239 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
240 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
241 static void |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
242 rf_dealloc(rfobject *self) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
243 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
244 do_close(self); |
|
23510
82309c7325ef
Replaced lots of PyMem_DEL() calls with PyObject_DEL().
Jack Jansen <jack.jansen@cwi.nl>
parents:
22963
diff
changeset
|
245 PyObject_DEL(self); |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
246 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
247 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
248 static PyObject * |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
249 rf_getattr(rfobject *self, char *name) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
250 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
251 return Py_FindMethod(rf_methods, (PyObject *)self, name); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
252 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
253 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
254 static char Rftype__doc__[] = |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
255 "Resource fork file object" |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
256 ; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
257 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
258 static PyTypeObject Rftype = { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
259 PyObject_HEAD_INIT(&PyType_Type) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
260 0, /*ob_size*/ |
|
21313
91dd223829c6
Patch supplied by Burton Radons for his own SF bug #487390: Modifying
Guido van Rossum <guido@python.org>
parents:
19841
diff
changeset
|
261 "MacOS.ResourceFork", /*tp_name*/ |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
262 sizeof(rfobject), /*tp_basicsize*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
263 0, /*tp_itemsize*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
264 /* methods */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
265 (destructor)rf_dealloc, /*tp_dealloc*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
266 (printfunc)0, /*tp_print*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
267 (getattrfunc)rf_getattr, /*tp_getattr*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
268 (setattrfunc)0, /*tp_setattr*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
269 (cmpfunc)0, /*tp_compare*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
270 (reprfunc)0, /*tp_repr*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
271 0, /*tp_as_number*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
272 0, /*tp_as_sequence*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
273 0, /*tp_as_mapping*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
274 (hashfunc)0, /*tp_hash*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
275 (ternaryfunc)0, /*tp_call*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
276 (reprfunc)0, /*tp_str*/ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
277 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
278 /* Space for future expansion */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
279 0L,0L,0L,0L, |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
280 Rftype__doc__ /* Documentation string */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
281 }; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
282 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
283 |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
284 /* End of code for Resource fork objects */ |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
285 /* -------------------------------------------------------- */ |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
286 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
287 /*----------------------------------------------------------------------*/ |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
288 /* Miscellaneous File System Operations */ |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
289 |
|
28326
3358dfb1b18b
GetCreatorAndType and SetCreatorAndType have been undeprecated. Spotted by
Jack Jansen <jack.jansen@cwi.nl>
parents:
28034
diff
changeset
|
290 static char getcrtp_doc[] = "Get MacOS 4-char creator and type for a file"; |
| 5713 | 291 |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
292 static PyObject * |
|
2227
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
293 MacOS_GetCreatorAndType(PyObject *self, PyObject *args) |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
294 { |
|
2227
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
295 PyObject *creator, *type, *res; |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
296 OSErr err; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
297 FSRef ref; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
298 FSCatalogInfo cataloginfo; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
299 FileInfo* finfo; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
300 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
301 if (!PyArg_ParseTuple(args, "O&", PyMac_GetFSRef, &ref)) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
302 #ifndef __LP64__ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
303 /* This function is documented to take an FSSpec as well, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
304 * which only works in 32-bit mode. |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
305 */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
306 PyErr_Clear(); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
307 FSSpec fss; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
308 FInfo info; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
309 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
310 if (!PyArg_ParseTuple(args, "O&", PyMac_GetFSSpec, &fss)) |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
311 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
312 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
313 if ((err = FSpGetFInfo(&fss, &info)) != noErr) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
314 return PyErr_Mac(MacOS_Error, err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
315 } |
|
50445
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
316 |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
317 info.fdCreator = ntohl(info.fdCreator); |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
318 info.fdType = ntohl(info.fdType); |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
319 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
320 creator = PyString_FromStringAndSize( |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
321 (char *)&info.fdCreator, 4); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
322 type = PyString_FromStringAndSize((char *)&info.fdType, 4); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
323 res = Py_BuildValue("OO", creator, type); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
324 Py_DECREF(creator); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
325 Py_DECREF(type); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
326 return res; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
327 #else /* __LP64__ */ |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
328 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
329 #endif /* __LP64__ */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
330 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
331 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
332 err = FSGetCatalogInfo(&ref, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
333 kFSCatInfoFinderInfo|kFSCatInfoNodeFlags, &cataloginfo, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
334 NULL, NULL, NULL); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
335 if (err != noErr) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
336 PyErr_Mac(MacOS_Error, err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
337 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
338 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
339 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
340 if ((cataloginfo.nodeFlags & kFSNodeIsDirectoryMask) != 0) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
341 /* Directory: doesn't have type/creator info. |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
342 * |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
343 * The specific error code is for backward compatibility with |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
344 * earlier versions. |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
345 */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
346 PyErr_Mac(MacOS_Error, fnfErr); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
347 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
348 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
349 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
350 finfo = (FileInfo*)&(cataloginfo.finderInfo); |
|
50445
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
351 finfo->fileCreator = ntohl(finfo->fileCreator); |
|
1dcb19216b64
Fix for issue1594
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
48220
diff
changeset
|
352 finfo->fileType = ntohl(finfo->fileType); |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
353 creator = PyString_FromStringAndSize((char*)&(finfo->fileCreator), 4); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
354 type = PyString_FromStringAndSize((char*)&(finfo->fileType), 4); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
355 |
|
2227
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
356 res = Py_BuildValue("OO", creator, type); |
|
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
357 Py_DECREF(creator); |
| 2136 | 358 Py_DECREF(type); |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
359 return res; |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
360 } |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
361 |
|
28326
3358dfb1b18b
GetCreatorAndType and SetCreatorAndType have been undeprecated. Spotted by
Jack Jansen <jack.jansen@cwi.nl>
parents:
28034
diff
changeset
|
362 static char setcrtp_doc[] = "Set MacOS 4-char creator and type for a file"; |
| 5713 | 363 |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
364 static PyObject * |
|
2227
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
365 MacOS_SetCreatorAndType(PyObject *self, PyObject *args) |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
366 { |
|
2227
e53d019e7d47
Got rid of {Get,Set}FileType in favor of {Get,Set}CreatorAndType --
Guido van Rossum <guido@python.org>
parents:
2221
diff
changeset
|
367 ResType creator, type; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
368 FSRef ref; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
369 FileInfo* finfo; |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
370 OSErr err; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
371 FSCatalogInfo cataloginfo; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
372 |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
373 if (!PyArg_ParseTuple(args, "O&O&O&", |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
374 PyMac_GetFSRef, &ref, PyMac_GetOSType, &creator, PyMac_GetOSType, &type)) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
375 #ifndef __LP64__ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
376 /* Try to handle FSSpec arguments, for backward compatibility */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
377 FSSpec fss; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
378 FInfo info; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
379 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
380 if (!PyArg_ParseTuple(args, "O&O&O&", |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
381 PyMac_GetFSSpec, &fss, PyMac_GetOSType, &creator, PyMac_GetOSType, &type)) |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
382 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
383 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
384 if ((err = FSpGetFInfo(&fss, &info)) != noErr) |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
385 return PyErr_Mac(MacOS_Error, err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
386 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
387 info.fdCreator = creator; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
388 info.fdType = type; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
389 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
390 if ((err = FSpSetFInfo(&fss, &info)) != noErr) |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
391 return PyErr_Mac(MacOS_Error, err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
392 Py_INCREF(Py_None); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
393 return Py_None; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
394 #else /* __LP64__ */ |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
395 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
396 #endif /* __LP64__ */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
397 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
398 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
399 err = FSGetCatalogInfo(&ref, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
400 kFSCatInfoFinderInfo|kFSCatInfoNodeFlags, &cataloginfo, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
401 NULL, NULL, NULL); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
402 if (err != noErr) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
403 PyErr_Mac(MacOS_Error, err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
404 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
405 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
406 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
407 if ((cataloginfo.nodeFlags & kFSNodeIsDirectoryMask) != 0) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
408 /* Directory: doesn't have type/creator info. |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
409 * |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
410 * The specific error code is for backward compatibility with |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
411 * earlier versions. |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
412 */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
413 PyErr_Mac(MacOS_Error, fnfErr); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
414 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
415 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
416 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
417 finfo = (FileInfo*)&(cataloginfo.finderInfo); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
418 finfo->fileCreator = creator; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
419 finfo->fileType = type; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
420 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
421 err = FSSetCatalogInfo(&ref, kFSCatInfoFinderInfo, &cataloginfo); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
422 if (err != noErr) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
423 PyErr_Mac(MacOS_Error, fnfErr); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
424 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
425 } |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
426 |
|
2092
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
427 Py_INCREF(Py_None); |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
428 return Py_None; |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
429 } |
|
b03b43bee1ab
Used new getargs interface; added {Get,Set}FileInfo.
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
430 |
|
2276
66d6d13df4f8
Added HandleEvent method to macos, so python programs can hand back
Jack Jansen <jack.jansen@cwi.nl>
parents:
2262
diff
changeset
|
431 |
| 5713 | 432 static char geterr_doc[] = "Convert OSErr number to string"; |
| 433 | |
|
2831
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
434 static PyObject * |
|
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
435 MacOS_GetErrorString(PyObject *self, PyObject *args) |
|
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
436 { |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
437 int err; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
438 char buf[256]; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
439 Handle h; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
440 char *str; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
441 static int errors_loaded; |
|
2831
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
442 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
443 if (!PyArg_ParseTuple(args, "i", &err)) |
|
2831
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
444 return NULL; |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
445 |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
446 h = GetResource('Estr', err); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
447 if (!h && !errors_loaded) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
448 /* |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
449 ** Attempt to open the resource file containing the |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
450 ** Estr resources. We ignore all errors. We also try |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
451 ** this only once. |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
452 */ |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
453 PyObject *m, *rv; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
454 errors_loaded = 1; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
455 |
|
44439
0cbe94bea2c7
Modified PyImport_Import and PyImport_ImportModule to always use absolute imports by calling __import__ with an explicit level of 0
Christian Heimes <christian@cheimes.de>
parents:
39181
diff
changeset
|
456 m = PyImport_ImportModuleNoBlock("macresource"); |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
457 if (!m) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
458 if (Py_VerboseFlag) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
459 PyErr_Print(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
460 PyErr_Clear(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
461 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
462 else { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
463 rv = PyObject_CallMethod(m, "open_error_resource", ""); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
464 if (!rv) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
465 if (Py_VerboseFlag) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
466 PyErr_Print(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
467 PyErr_Clear(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
468 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
469 else { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
470 Py_DECREF(rv); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
471 /* And try again... */ |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
472 h = GetResource('Estr', err); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
473 } |
|
39062
d6463e8ef9c4
Add missing Py_DECREF.
Thomas Heller <theller@ctypes.org>
parents:
33908
diff
changeset
|
474 Py_DECREF(m); |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
475 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
476 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
477 /* |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
478 ** Whether the code above succeeded or not, we won't try |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
479 ** again. |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
480 */ |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
481 errors_loaded = 1; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
482 |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
483 if (h) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
484 HLock(h); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
485 str = (char *)*h; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
486 memcpy(buf, str+1, (unsigned char)str[0]); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
487 buf[(unsigned char)str[0]] = '\0'; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
488 HUnlock(h); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
489 ReleaseResource(h); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
490 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
491 else { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
492 PyOS_snprintf(buf, sizeof(buf), "Mac OS error code %d", err); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
493 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
494 |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32194
diff
changeset
|
495 return Py_BuildValue("s", buf); |
|
2831
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
496 } |
|
eedd6c1f3ae7
Added GetErrorString method (convert OSErr number to string)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2429
diff
changeset
|
497 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
498 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
499 #ifndef __LP64__ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
500 |
|
3567
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
501 static char splash_doc[] = "Open a splash-screen dialog by resource-id (0=close)"; |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
502 |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
503 static PyObject * |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
504 MacOS_splash(PyObject *self, PyObject *args) |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
505 { |
|
4309
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
506 int resid = -1; |
|
5488
2e89c55d9a29
Don't free the MacOS_Splash() dialog twice...
Jack Jansen <jack.jansen@cwi.nl>
parents:
5429
diff
changeset
|
507 static DialogPtr curdialog = NULL; |
| 6279 | 508 DialogPtr olddialog; |
|
4328
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
509 WindowRef theWindow; |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
510 CGrafPtr thePort; |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
511 #if 0 |
|
4328
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
512 short xpos, ypos, width, height, swidth, sheight; |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
513 #endif |
|
3567
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
514 |
|
4309
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
515 if (!PyArg_ParseTuple(args, "|i", &resid)) |
|
3567
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
516 return NULL; |
| 6279 | 517 olddialog = curdialog; |
|
7436
d1465b5c0a08
Fixed double-dispose of splash() dialog
Jack Jansen <jack.jansen@cwi.nl>
parents:
6330
diff
changeset
|
518 curdialog = NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
519 |
|
4309
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
520 if ( resid != -1 ) { |
|
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
521 curdialog = GetNewDialog(resid, NULL, (WindowPtr)-1); |
|
4328
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
522 if ( curdialog ) { |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
523 theWindow = GetDialogWindow(curdialog); |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
524 thePort = GetWindowPort(theWindow); |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
525 #if 0 |
|
4328
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
526 width = thePort->portRect.right - thePort->portRect.left; |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
527 height = thePort->portRect.bottom - thePort->portRect.top; |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
528 swidth = qd.screenBits.bounds.right - qd.screenBits.bounds.left; |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
529 sheight = qd.screenBits.bounds.bottom - qd.screenBits.bounds.top - LMGetMBarHeight(); |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
530 xpos = (swidth-width)/2; |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
531 ypos = (sheight-height)/5 + LMGetMBarHeight(); |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
532 MoveWindow(theWindow, xpos, ypos, 0); |
|
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
533 ShowWindow(theWindow); |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
534 #endif |
|
4309
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
535 DrawDialog(curdialog); |
|
4328
b03ab35d52df
Added dialog-centering code to splash()
Jack Jansen <jack.jansen@cwi.nl>
parents:
4309
diff
changeset
|
536 } |
|
4309
ecbeb445f62e
Fixed macos.splash to actually *draw* the splash box:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
3567
diff
changeset
|
537 } |
| 6279 | 538 if (olddialog) |
| 539 DisposeDialog(olddialog); | |
|
3567
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
540 Py_INCREF(Py_None); |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
541 return Py_None; |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
542 } |
|
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
543 |
|
4342
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
544 static char DebugStr_doc[] = "Switch to low-level debugger with a message"; |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
545 |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
546 static PyObject * |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
547 MacOS_DebugStr(PyObject *self, PyObject *args) |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
548 { |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
549 Str255 message; |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
550 PyObject *object = 0; |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
551 |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
552 if (!PyArg_ParseTuple(args, "O&|O", PyMac_GetStr255, message, &object)) |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
553 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
554 |
|
4342
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
555 DebugStr(message); |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
556 Py_INCREF(Py_None); |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
557 return Py_None; |
|
897297abe5b4
Added DebugStr method to drop into low-level debugger
Jack Jansen <jack.jansen@cwi.nl>
parents:
4328
diff
changeset
|
558 } |
|
3567
6f715bff17e4
Added splash method (to quickly display splash screen without first
Jack Jansen <jack.jansen@cwi.nl>
parents:
3430
diff
changeset
|
559 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
560 |
| 6279 | 561 static char SysBeep_doc[] = "BEEEEEP!!!"; |
| 562 | |
| 563 static PyObject * | |
| 564 MacOS_SysBeep(PyObject *self, PyObject *args) | |
| 565 { | |
| 566 int duration = 6; | |
| 567 | |
| 568 if (!PyArg_ParseTuple(args, "|i", &duration)) | |
| 569 return NULL; | |
| 570 SysBeep(duration); | |
| 571 Py_INCREF(Py_None); | |
| 572 return Py_None; | |
| 573 } | |
| 574 | |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
575 #endif /* __LP64__ */ |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
576 |
|
28010
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
577 static char WMAvailable_doc[] = |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
578 "True if this process can interact with the display." |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
579 "Will foreground the application on the first call as a side-effect." |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
580 ; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
581 |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
582 static PyObject * |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
583 MacOS_WMAvailable(PyObject *self, PyObject *args) |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
584 { |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
585 static PyObject *rv = NULL; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
586 |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
587 if (!PyArg_ParseTuple(args, "")) |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
588 return NULL; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
589 if (!rv) { |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
590 ProcessSerialNumber psn; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
591 |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
592 /* |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
593 ** This is a fairly innocuous call to make if we don't have a window |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
594 ** manager, or if we have no permission to talk to it. It will print |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
595 ** a message on stderr, but at least it won't abort the process. |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
596 ** It appears the function caches the result itself, and it's cheap, so |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
597 ** no need for us to cache. |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
598 */ |
|
32194
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
599 #ifdef kCGNullDirectDisplay |
|
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
600 /* On 10.1 CGMainDisplayID() isn't available, and |
|
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
601 ** kCGNullDirectDisplay isn't defined. |
|
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
602 */ |
|
28010
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
603 if (CGMainDisplayID() == 0) { |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
604 rv = Py_False; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
605 } else { |
|
32194
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
606 #else |
|
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
607 { |
|
d3aad377a5a9
CGMainDisplayID() doesn't exist on 10.1, so don't try to call it when
Jack Jansen <jack.jansen@cwi.nl>
parents:
30982
diff
changeset
|
608 #endif |
|
28010
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
609 if (GetCurrentProcess(&psn) < 0 || |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
610 SetFrontProcess(&psn) < 0) { |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
611 rv = Py_False; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
612 } else { |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
613 rv = Py_True; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
614 } |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
615 } |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
616 } |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
617 Py_INCREF(rv); |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
618 return rv; |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
619 } |
|
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
620 |
|
6212
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
621 static char GetTicks_doc[] = "Return number of ticks since bootup"; |
|
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
622 |
|
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
623 static PyObject * |
|
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
624 MacOS_GetTicks(PyObject *self, PyObject *args) |
|
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
625 { |
|
12836
3fe304050434
Made the core toolbox modules carbon-compatible using the new greylist feature of bgen: non-carbon methods are still included in non-carbon MacPython. The issue of backward compatibility of Python code is still open.
Jack Jansen <jack.jansen@cwi.nl>
parents:
11824
diff
changeset
|
626 return Py_BuildValue("i", (int)TickCount()); |
|
6212
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
627 } |
|
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
628 |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
629 static char openrf_doc[] = "Open resource fork of a file"; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
630 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
631 static PyObject * |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
632 MacOS_openrf(PyObject *self, PyObject *args) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
633 { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
634 OSErr err; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
635 char *mode = "r"; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
636 FSRef ref; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
637 SInt8 permission = fsRdPerm; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
638 rfobject *fp; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
639 HFSUniStr255 name; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
640 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
641 if (!PyArg_ParseTuple(args, "O&|s", PyMac_GetFSRef, &ref, &mode)) |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
642 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
643 while (*mode) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
644 switch (*mode++) { |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
645 case '*': break; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
646 case 'r': permission = fsRdPerm; break; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
647 case 'w': permission = fsWrPerm; break; |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
648 case 'b': break; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
649 default: |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
650 PyErr_BadArgument(); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
651 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
652 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
653 } |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
654 |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
655 err = FSGetResourceForkName(&name); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
656 if (err != noErr) { |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
657 PyMac_Error(err); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
658 return NULL; |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
659 } |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
660 |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
661 if ( (fp = newrfobject()) == NULL ) |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
662 return NULL; |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
663 |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
664 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
665 err = FSOpenFork(&ref, name.length, name.unicode, permission, &fp->fRefNum); |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
666 if (err != noErr) { |
|
3425
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
667 Py_DECREF(fp); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
668 PyMac_Error(err); |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
669 return NULL; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
670 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
671 fp->isclosed = 0; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
672 return (PyObject *)fp; |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
673 } |
|
23254daa247b
Added openrf method, which opens resource fork. The resulting object
Jack Jansen <jack.jansen@cwi.nl>
parents:
2831
diff
changeset
|
674 |
|
15280
a5ca54969a3f
Added PyMac_OutputSeen(), which acknowledges all current output in the stdio window, i.e. it acts like input has been read insofar as the keep-console-open option is interested.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15193
diff
changeset
|
675 |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
676 |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
677 static PyMethodDef MacOS_Methods[] = { |
| 5713 | 678 {"GetCreatorAndType", MacOS_GetCreatorAndType, 1, getcrtp_doc}, |
| 679 {"SetCreatorAndType", MacOS_SetCreatorAndType, 1, setcrtp_doc}, | |
| 680 {"GetErrorString", MacOS_GetErrorString, 1, geterr_doc}, | |
| 681 {"openrf", MacOS_openrf, 1, openrf_doc}, | |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
682 #ifndef __LP64__ |
| 5713 | 683 {"splash", MacOS_splash, 1, splash_doc}, |
| 684 {"DebugStr", MacOS_DebugStr, 1, DebugStr_doc}, | |
|
47473
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
685 {"SysBeep", MacOS_SysBeep, 1, SysBeep_doc}, |
|
c34e34057714
MacOS X: Enable 4-way universal builds
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
47294
diff
changeset
|
686 #endif /* __LP64__ */ |
|
6212
5088ec5a12a6
Added GetTicks() here, so profiling can use a decent timer
Jack Jansen <jack.jansen@cwi.nl>
parents:
5746
diff
changeset
|
687 {"GetTicks", MacOS_GetTicks, 1, GetTicks_doc}, |
|
28010
7aa2163889ac
Added a method WMAvailable(). This will return True if and only if there
Jack Jansen <jack.jansen@cwi.nl>
parents:
26769
diff
changeset
|
688 {"WMAvailable", MacOS_WMAvailable, 1, WMAvailable_doc}, |
|
2184
87f4d6d2e9c8
added high level event interface (requires stdwin patch)
Guido van Rossum <guido@python.org>
parents:
2175
diff
changeset
|
689 {NULL, NULL} /* Sentinel */ |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
690 }; |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
691 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
692 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
693 void |
|
19066
a1b4f3a1ee07
- Don't return mac-style pathnames in unix-Python.
Jack Jansen <jack.jansen@cwi.nl>
parents:
17865
diff
changeset
|
694 initMacOS(void) |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
695 { |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
696 PyObject *m, *d; |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
697 |
|
46967
6df0394abbf1
Add warnings to and deprecated all those Mac modules
Benjamin Peterson <benjamin@python.org>
parents:
44439
diff
changeset
|
698 if (PyErr_WarnPy3k("In 3.x, MacOS is removed.", 1)) |
|
6df0394abbf1
Add warnings to and deprecated all those Mac modules
Benjamin Peterson <benjamin@python.org>
parents:
44439
diff
changeset
|
699 return; |
|
6df0394abbf1
Add warnings to and deprecated all those Mac modules
Benjamin Peterson <benjamin@python.org>
parents:
44439
diff
changeset
|
700 |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
701 m = Py_InitModule("MacOS", MacOS_Methods); |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
702 d = PyModule_GetDict(m); |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
703 |
|
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
704 /* Initialize MacOS.Error exception */ |
|
2232
8d5e36b37a41
Got rid of the Resource and Sound interfaces, in favor of the ones
Guido van Rossum <guido@python.org>
parents:
2229
diff
changeset
|
705 MacOS_Error = PyMac_GetOSErrException(); |
|
1916
e125f5021e67
config.c: add MacOS module
Guido van Rossum <guido@python.org>
parents:
1896
diff
changeset
|
706 if (MacOS_Error == NULL || PyDict_SetItemString(d, "Error", MacOS_Error) != 0) |
|
14465
e13df4e9076f
Got rid of Py_FatalError calls.
Jack Jansen <jack.jansen@cwi.nl>
parents:
13608
diff
changeset
|
707 return; |
|
6330
172c7febd755
Export type objects to Python
Jack Jansen <jack.jansen@cwi.nl>
parents:
6279
diff
changeset
|
708 Rftype.ob_type = &PyType_Type; |
|
172c7febd755
Export type objects to Python
Jack Jansen <jack.jansen@cwi.nl>
parents:
6279
diff
changeset
|
709 Py_INCREF(&Rftype); |
|
172c7febd755
Export type objects to Python
Jack Jansen <jack.jansen@cwi.nl>
parents:
6279
diff
changeset
|
710 if (PyDict_SetItemString(d, "ResourceForkType", (PyObject *)&Rftype) != 0) |
|
14465
e13df4e9076f
Got rid of Py_FatalError calls.
Jack Jansen <jack.jansen@cwi.nl>
parents:
13608
diff
changeset
|
711 return; |
|
5258
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
712 /* |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
713 ** This is a hack: the following constant added to the id() of a string |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
714 ** object gives you the address of the data. Unfortunately, it is needed for |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
715 ** some of the image and sound processing interfaces on the mac:-( |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
716 */ |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
717 { |
|
47527
52294af4b663
This reverts r63675 based on the discussion in this thread:
Gregory P. Smith <greg@mad-scientist.com>
parents:
47501
diff
changeset
|
718 PyStringObject *p = 0; |
|
5258
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
719 long off = (long)&(p->ob_sval[0]); |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
720 |
|
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
721 if( PyDict_SetItemString(d, "string_id_to_buffer", Py_BuildValue("i", off)) != 0) |
|
14465
e13df4e9076f
Got rid of Py_FatalError calls.
Jack Jansen <jack.jansen@cwi.nl>
parents:
13608
diff
changeset
|
722 return; |
|
5258
40d2fd472284
Added an attribute string_id_to_buffer, which gives the offset you
Jack Jansen <jack.jansen@cwi.nl>
parents:
5152
diff
changeset
|
723 } |
|
17865
fde5508e82de
Ifdeffed a few more sections. All functionality that is relevant on MacOSX
Jack Jansen <jack.jansen@cwi.nl>
parents:
17864
diff
changeset
|
724 #define PY_RUNTIMEMODEL "macho" |
|
16183
a130d5f7e58a
Added an attribute runtimemodel, which is either "ppc" or "carbon" and is the runtime model of the current interpreter. Will have to ad another value later for real MacOSX MachO, I guess.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15280
diff
changeset
|
725 if (PyDict_SetItemString(d, "runtimemodel", |
|
a130d5f7e58a
Added an attribute runtimemodel, which is either "ppc" or "carbon" and is the runtime model of the current interpreter. Will have to ad another value later for real MacOSX MachO, I guess.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15280
diff
changeset
|
726 Py_BuildValue("s", PY_RUNTIMEMODEL)) != 0) |
|
a130d5f7e58a
Added an attribute runtimemodel, which is either "ppc" or "carbon" and is the runtime model of the current interpreter. Will have to ad another value later for real MacOSX MachO, I guess.
Jack Jansen <jack.jansen@cwi.nl>
parents:
15280
diff
changeset
|
727 return; |
|
30975
4ce30d9a1e04
Getting rid of code conditional on TARGET_API_MAC_*.
Jack Jansen <jack.jansen@cwi.nl>
parents:
30970
diff
changeset
|
728 #if defined(WITH_NEXT_FRAMEWORK) |
|
28034
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
729 #define PY_LINKMODEL "framework" |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
730 #elif defined(Py_ENABLE_SHARED) |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
731 #define PY_LINKMODEL "shared" |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
732 #else |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
733 #define PY_LINKMODEL "static" |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
734 #endif |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
735 if (PyDict_SetItemString(d, "linkmodel", |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
736 Py_BuildValue("s", PY_LINKMODEL)) != 0) |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
737 return; |
|
91624a47537c
Added a linkmodel attribute, showing how Python was built. This is so
Jack Jansen <jack.jansen@cwi.nl>
parents:
28010
diff
changeset
|
738 |
|
1892
eec0dc5aba60
gestaltmodule.c: interface to Gestalt Manager.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
739 } |
