Jeg tror, at det er langt mere sandsynligt, at du støder på en ufanget fejl, snarere end at triggeren ikke udføres, især da den udføres med succes fra konsollen.
Du skal isolere, hvor fejlen opstår - i selve triggeren eller i det kaldende script.
I dit python-script skal du udskrive den SQL-sætning, som python sender til MySQL til eksekvering for at sikre, at den er konstrueret, som du forventer - hvis NEW.type f.eks. ikke svarer til 'PRE', vil triggeren have eksekveret, men vil ikke resultere i nogen opdateringer.
Sørg også for, at du tjekker for fejl på indsatsen. Jeg er ikke en python-programmør, så jeg kan ikke fortælle dig, hvordan det gøres, men dette ser ud til at være det du leder efter.
Hvis ingen af disse fører dig til problemet, skal du kommentere hele if (NEW.type = 'PRE') THEN
blokere og lave en simpel ændring, såsom at indstille NEW.type til 'debug'. Efter at have sikret dig, at udløseren faktisk udføres, skal du genteste successivt med mere af den rigtige kode tilføjet igen, indtil du isolerer problemet.
Med hensyn til Marcos kommentar ville jeg også blive overrasket, hvis manuskriptet ikke automatisk blev overført efter vellykket afslutning. Faktisk vil jeg komme med denne udtalelse om ethvert script/sprog.