Dlaynet tenyalD, теперь дальше:
У вас точно не работает ничего, что внутри функции? Т.е. хэндлер не вызывает функцию? Или таки не работает то, что внутри функции, даже когда хендлер корректно её вызывает?
Это две большие разницы.
Если внутрь положить тупо print, он выводит что-нибудь?
Код не может не работать. Надо уточнить вопрос, как он по-вашему должен работать и как реально работает?
Рекомендую откомментировать каждую строку, что она по-вашему делает, как вам в предыдущем ответе показали.
Вопрос-то в чем заключается?