# -*- coding: utf-8 -*- from django.utils.translation import ugettext as _ from chatbot.telebot import send_notify from chatbot.models import ChatException class TaskException(Exception): pass def handle(task, author, recipient, abon_group): try: dst_account = recipient text = _('Task') # Если сигнал самому себе то молчим if author == recipient: return # Если задача 'На выполнении' то молчим if task.state == 'C': return # Если задача завершена elif task.state == 'F': text = _('Task completed') # Меняем цель назначения на автора, т.к. при завершении # идёт оповещение автору о выполнении dst_account = author fulltext="%s:\n%s\n" % (text, task.abon.get_full_name()) fulltext += _('locality %s.\n') % abon_group.title if task.abon: fulltext += _('address %s %s.\ntelephone %s\n') % ( task.abon.street.name if task.abon.street is not None else '<'+_('not chosen')+'>', task.abon.house, task.abon.telephone ) fulltext += _('Task type - %s.\n') % task.get_mode_display() fulltext += task.descr if task.descr else '' send_notify(fulltext, dst_account) except ChatException as e: raise TaskException(e)