Dispel( pSource, PyList_New( 0 ) );
if ( dispelFunc_.isNull() ) return;   if ( dispelFunc_.contains( "." ) ) {  INT32 position = dispelFunc_.findRev( "." ); QString sModule = dispelFunc_.left( position ); QString sFunction = dispelFunc_.right( dispelFunc_.length() - ( position + 1 ) );  PyObject* pModule = PyImport_ImportModule( const_cast<char*>( sModule.latin1() ) );  if ( pModule ) { PyObject* pFunc = PyObject_GetAttrString( pModule, const_cast<char*>( sFunction.latin1() ) ); if ( pFunc && PyCallable_Check( pFunc ) ) {  PyObject* p_args = PyTuple_New( 4 ); if ( isItemSerial( destSer ) ) PyTuple_SetItem( p_args, 0, PyGetItemObject( FindItemBySerial( destSer ) ) ); else if ( isCharSerial( destSer ) ) PyTuple_SetItem( p_args, 0, PyGetCharObject( FindCharBySerial( destSer ) ) ); else { Py_INCREF( Py_None ); PyTuple_SetItem( p_args, 0, Py_None ); }  PyTuple_SetItem( p_args, 1, args ); PyTuple_SetItem( p_args, 2, PyGetCharObject( pSource ) ); PyTuple_SetItem( p_args, 3, disp_args );  PyObject* result = PyEval_CallObject( pFunc, p_args ); Py_XDECREF( result );  reportPythonError( sModule ); Py_DECREF( p_args ); }  Py_XDECREF( pFunc ); } Py_XDECREF( pModule ); }  Py_DECREF( args );
	void Dispel( P_CHAR pSource, bool silent )	{		// We will ignore silent here.		Dispel( pSource, PyList_New( 0 ) );	}