Мисля, че е много по-вероятно да срещнете неуловена грешка, а не тригерът да не се изпълнява, особено след като се изпълнява успешно от конзолата.
Трябва да изолирате къде възниква грешката – в самия тригер или в скрипта за извикване.
Във вашия скрипт на python отпечатайте SQL израза, който python изпраща на MySQL за изпълнение, за да сте сигурни, че е конструиран, както очаквате - например, ако NEW.type не е равно на 'PRE', тригерът ще се изпълни, но няма да доведе до никакви актуализации.
Също така се уверете, че проверявате за грешки на вложката. Аз не съм програмист на python, така че не мога да ви кажа как се прави това, но това изглежда е това, което търсите.
Ако нито едно от тях не ви доведе до проблема, коментирайте целия if (NEW.type = 'PRE') THEN
блокирайте и направете проста модификация, като например задаване на NEW.type на 'debug'. След като се уверите, че тригерът действително се изпълнява, тествайте последователно с повече от реалния код, добавен обратно, докато не изолирате проблема.
Също така, според коментара на Маркос, бих се изненадал, ако скриптът не се ангажира автоматично при успешно завършване. Наистина, бих направил това изявление за всеки скрипт/език.