diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2003-03-06 23:02:59 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2003-03-06 23:02:59 (GMT) |
commit | ee1c85c8eb6944fd1f87d439a96e3b4a23c6acdd (patch) | |
tree | b2b5eed623b6fbd789cedb3a8fe88cd4e7fa6586 /Mac/Modules | |
parent | 86f25fb1d26eabaa8520ffbbbf449733440533b8 (diff) | |
download | cpython-ee1c85c8eb6944fd1f87d439a96e3b4a23c6acdd.zip cpython-ee1c85c8eb6944fd1f87d439a96e3b4a23c6acdd.tar.gz cpython-ee1c85c8eb6944fd1f87d439a96e3b4a23c6acdd.tar.bz2 |
Various tweaks by Jack because of the different module name, adaptation
to the Python style, etc.
Diffstat (limited to 'Mac/Modules')
-rw-r--r-- | Mac/Modules/OSATerminology.c | 117 |
1 files changed, 74 insertions, 43 deletions
diff --git a/Mac/Modules/OSATerminology.c b/Mac/Modules/OSATerminology.c index f76f49e..2d8b1e2 100644 --- a/Mac/Modules/OSATerminology.c +++ b/Mac/Modules/OSATerminology.c @@ -1,70 +1,101 @@ -#include <Python/Python.h> +/* +** This module is a one-trick pony: given an FSSpec it gets the aeut +** resources. It was written by Donovan Preston and slightly modified +** by Jack. +** +** It should be considered a placeholder, it will probably be replaced +** by a full interface to OpenScripting. +*/ +#include "Python.h" +#include "macglue.h" + +#ifdef WITHOUT_FRAMEWORKS +#include <OpenScripting.h> +#else #include <Carbon/Carbon.h> -#include <Python/pymactoolbox.h> +#endif -PyObject * PyOSA_GetAppTerminology(PyObject* self, PyObject* args) { - AEDesc temp; - FSSpec tempFSSpec; - - ComponentInstance defaultComponent; - ScriptingComponentSelector theType; - SInt16 defaultTerminology; - Boolean didLaunch; - +static PyObject * +PyOSA_GetAppTerminology(PyObject* self, PyObject* args) +{ + AEDesc theDesc = {0,0}; + FSSpec fss; + ComponentInstance defaultComponent = NULL; + SInt16 defaultTerminology = 0; + Boolean didLaunch = 0; OSAError err; + long modeFlags = 0; - PyObject * returnVal; - - if (!PyArg_ParseTuple(args, "O&", PyMac_GetFSSpec, &tempFSSpec)) return NULL; + if (!PyArg_ParseTuple(args, "O&|i", PyMac_GetFSSpec, &fss, &modeFlags)) + return NULL; - defaultComponent = OpenDefaultComponent (kOSAComponentType, - 'ascr'); -// kOSAGenericScriptingComponentSubtype); - - err = GetComponentInstanceError (defaultComponent); - printf("OpenDefaultComponent: %d\n", err); + defaultComponent = OpenDefaultComponent (kOSAComponentType, 'ascr'); + err = GetComponentInstanceError (defaultComponent); + if (err) return PyMac_Error(err); err = OSAGetCurrentDialect(defaultComponent, &defaultTerminology); - printf("getcurrentdialect: %d\n", err); + if (err) return PyMac_Error(err); err = OSAGetAppTerminology ( defaultComponent, - kOSAModeNull, - &tempFSSpec, + modeFlags, + &fss, defaultTerminology, &didLaunch, - &temp + &theDesc ); + if (err) return PyMac_Error(err); + return Py_BuildValue("O&i", AEDesc_New, &theDesc, didLaunch); +} -/* err = ASGetAppTerminology ( +static PyObject * +PyOSA_GetSysTerminology(PyObject* self, PyObject* args) +{ + AEDesc theDesc = {0,0}; + FSSpec fss; + ComponentInstance defaultComponent = NULL; + SInt16 defaultTerminology = 0; + Boolean didLaunch = 0; + OSAError err; + long modeFlags = 0; + + if (!PyArg_ParseTuple(args, "O&|i", PyMac_GetFSSpec, &fss, &modeFlags)) + return NULL; + + defaultComponent = OpenDefaultComponent (kOSAComponentType, 'ascr'); + err = GetComponentInstanceError (defaultComponent); + if (err) return PyMac_Error(err); + err = OSAGetCurrentDialect(defaultComponent, &defaultTerminology); + if (err) return PyMac_Error(err); + err = OSAGetAppTerminology ( defaultComponent, - &tempFSSpec, + modeFlags, + &fss, defaultTerminology, &didLaunch, - &temp - );*/ - - printf("getappterminology: %d\n", err); - - returnVal = Py_BuildValue("O&i", - AEDesc_New, &temp, didLaunch); - return returnVal; + &theDesc + ); + if (err) return PyMac_Error(err); + return Py_BuildValue("O&i", AEDesc_New, &theDesc, didLaunch); } /* * List of methods defined in the module */ -static struct PyMethodDef PyOSA_methods[] = +static struct PyMethodDef OSATerminology_methods[] = { - {"GetAppTerminology", - (PyCFunction) PyOSA_GetAppTerminology, - METH_VARARGS, - "Get an applications terminology, as an AEDesc object."}, - - {NULL, (PyCFunction) NULL, 0, NULL} + {"GetAppTerminology", + (PyCFunction) PyOSA_GetAppTerminology, + METH_VARARGS, + "Get an applications terminology, as an AEDesc object."}, + {"GetSysTerminology", + (PyCFunction) PyOSA_GetSysTerminology, + METH_VARARGS, + "Get an applications system terminology, as an AEDesc object."}, + {NULL, (PyCFunction) NULL, 0, NULL} }; void -initPyOSA(void) +initOSATerminology(void) { - Py_InitModule("PyOSA", PyOSA_methods); + Py_InitModule("OSATerminology", OSATerminology_methods); }
\ No newline at end of file |