Ejemplo n.º 1
0
OSErr sourceStringOfAEDesc(ComponentInstance component, AEDesc* inDesc, AEDesc *outDesc)
{
	OSErr err = noErr;
	OSAID script_id = kOSANullScript;
	CFAttributedStringRef source_text = NULL;
	err = OSACoerceFromDesc(component, inDesc, kOSAModeNull, &script_id);
	if (noErr != err) goto bail;
	err = OSACopySourceString(component, script_id, kOSAModeNull, &source_text);
	if (noErr != err) goto bail;
	CFStringRef plain_text = CFAttributedStringGetString(source_text);
#if useLog
	CFShow(plain_text);
#endif	
	err = AEDescCreateWithCFString(plain_text, kCFStringEncodingUTF8, outDesc);
bail:
	OSADispose(component, script_id);
	safeRelease(source_text);
	return err;
}
Ejemplo n.º 2
0
static PyObject *OSAObj_OSACoerceFromDesc(OSAComponentInstanceObject *_self, PyObject *_args)
{
    PyObject *_res = NULL;
    OSAError _err;
    AEDesc scriptData;
    long modeFlags;
    OSAID resultingScriptID;
#ifndef OSACoerceFromDesc
    PyMac_PRECHECK(OSACoerceFromDesc);
#endif
    if (!PyArg_ParseTuple(_args, "O&l",
                          AEDesc_Convert, &scriptData,
                          &modeFlags))
        return NULL;
    _err = OSACoerceFromDesc(_self->ob_itself,
                             &scriptData,
                             modeFlags,
                             &resultingScriptID);
    if (_err != noErr) return PyMac_Error(_err);
    _res = Py_BuildValue("l",
                         resultingScriptID);
    return _res;
}