def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений. :return: """ def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) # Новый материал. notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create(kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) # Поиск без результатов. notify_handler = ( lambda sender, **kwargs: PythonzEmailOneliner.create('Поиск без результатов', kwargs['search_term'])) sig_search_failed.connect(notify_handler, dispatch_uid='cfg_search_failed', weak=False) # Ошибка интеграции со сторонними сервисами. notify_handler = ( lambda sender, **kwargs: PythonzEmailOneliner.create('Ошибка интеграции', kwargs['description'])) sig_integration_failed.connect(notify_handler, dispatch_uid='cfg_integration_failed', weak=False) if settings.DEBUG: # На всякий случай, чем чёрт не шутит. return False notify_handler = lambda sender, **kwargs: PythonzTwitterMessage.create(kwargs['entity']) sig_entity_published.connect(notify_handler, dispatch_uid='cfg_entity_published', weak=False)
def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений.""" def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) # Новый материал. notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create( kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) # Ошибка интеграции со сторонними сервисами. notify_handler = (lambda sender, **kwargs: PythonzEmailOneliner.create( 'Ошибка интеграции', kwargs['description'])) sig_integration_failed.connect(notify_handler, dispatch_uid='cfg_integration_failed', weak=False) # Сообщение в Телеграм. notify_handler = lambda sender, **kwargs: PythonzTelegramMessage.create( kwargs['text']) sig_send_generic_telegram.connect(notify_handler, dispatch_uid='cfg_telegram_generic', weak=False) # Материал опубликован. def notify_published(sender, **kwargs): entity = kwargs['entity'] if not entity.notify_on_publish: return False try: PythonzTwitterMessage.create_published(entity) PythonzTelegramMessage.create_published(entity) PythonzFacebookMessage.create_published(entity) PythonzVkontakteMessage.create_published(entity) except UnknownMessengerError: # В режиме разработки рассльные могут быть не сконфигурированы. if settings.IN_PRODUCTION: raise sig_entity_published.connect(notify_published, dispatch_uid='cfg_entity_published', weak=False)
def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений. :return: """ def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create( kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) if settings.DEBUG: # На всякий случай, чем чёрт не шутит. return False notify_handler = lambda sender, **kwargs: PythonzTwitterMessage.create( kwargs['entity']) sig_entity_published.connect(notify_handler, dispatch_uid='cfg_entity_published', weak=False)
def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений. :return: """ def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) # Новый материал. notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create(kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) # Поиск без результатов. notify_handler = ( lambda sender, **kwargs: PythonzEmailOneliner.create('Поиск без результатов', kwargs['search_term'])) sig_search_failed.connect(notify_handler, dispatch_uid='cfg_search_failed', weak=False) # Ошибка интеграции со сторонними сервисами. notify_handler = ( lambda sender, **kwargs: PythonzEmailOneliner.create('Ошибка интеграции', kwargs['description'])) sig_integration_failed.connect(notify_handler, dispatch_uid='cfg_integration_failed', weak=False) # Сообщение в Телеграм. notify_handler = lambda sender, **kwargs: PythonzTelegramMessage.create(kwargs['text']) sig_send_generic_telegram.connect(notify_handler, dispatch_uid='cfg_telegram_generic', weak=False) # Материал опубликован. def notify_published(sender, **kwargs): entity = kwargs['entity'] if not entity.notify_on_publish: return False try: PythonzTwitterMessage.create_published(entity) PythonzTelegramMessage.create_published(entity) PythonzFacebookMessage.create_published(entity) PythonzVkontakteMessage.create_published(entity) except UnknownMessengerError: # В режиме разработки рассльные могут быть не сконфигурированы. if settings.IN_PRODUCTION: raise sig_entity_published.connect(notify_published, dispatch_uid='cfg_entity_published', weak=False)
def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений. :return: """ def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) # Новый материал. notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create( kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) # Поиск без результатов. notify_handler = (lambda sender, **kwargs: PythonzEmailOneliner.create( 'Поиск без результатов', kwargs['search_term'])) sig_search_failed.connect(notify_handler, dispatch_uid='cfg_search_failed', weak=False) # Ошибка интеграции со сторонними сервисами. notify_handler = (lambda sender, **kwargs: PythonzEmailOneliner.create( 'Ошибка интеграции', kwargs['description'])) sig_integration_failed.connect(notify_handler, dispatch_uid='cfg_integration_failed', weak=False) if settings.DEBUG: # На всякий случай, чем чёрт не шутит. return False notify_handler = lambda sender, **kwargs: PythonzTwitterMessage.create( kwargs['entity']) sig_entity_published.connect(notify_handler, dispatch_uid='cfg_entity_published', weak=False)
def test_unsubscribe(self, setup): self.view_name = 'sitemessage_unsubscribe' sig_unsubscribe_success.connect(self.catcher_success, weak=False) sig_unsubscribe_failed.connect(self.catcher_fail, weak=False) self.generic_view_test() subscr = Subscription( message_cls=self.msg_type, messenger_cls=MessengerForTest.alias, recipient=self.user ) subscr.save() assert len(Subscription.objects.all()) == 1 self.send_request(self.msg_model.id, self.dispatch.id, self.dispatch_hash, self.STATUS_SUCCESS) assert len(Subscription.objects.all()) == 0
def test_unsubscribe(self, setup): self.view_name = 'sitemessage_unsubscribe' sig_unsubscribe_success.connect(self.catcher_success, weak=False) sig_unsubscribe_failed.connect(self.catcher_fail, weak=False) self.generic_view_test() subscr = Subscription(message_cls=self.msg_type, messenger_cls=MessengerForTest.alias, recipient=self.user) subscr.save() assert len(Subscription.objects.all()) == 1 self.send_request(self.msg_model.id, self.dispatch.id, self.dispatch_hash, self.STATUS_SUCCESS) assert len(Subscription.objects.all()) == 0
def connect_signals(): """Подключает обработчики сигналов, связанных с рассылками оповещений. :return: """ def unsubscribe_failed(*args, **kwargs): messages.error(kwargs['request'], 'К сожалению, отменить подписку не удалось.', 'danger error') sig_unsubscribe_failed.connect(unsubscribe_failed, weak=False) def unsubscribe_success(*args, **kwargs): messages.success(kwargs['request'], 'Подписка успешно отменена. Спасибо, что читали!', 'success') sig_unsubscribe_success.connect(unsubscribe_success, weak=False) notify_handler = lambda sender, **kwargs: PythonzEmailNewEntity.create(kwargs['entity']) sig_entity_new.connect(notify_handler, dispatch_uid='cfg_new_entity', weak=False) if settings.DEBUG: # На всякий случай, чем чёрт не шутит. return False notify_handler = lambda sender, **kwargs: PythonzTwitterMessage.create(kwargs['entity']) sig_entity_published.connect(notify_handler, dispatch_uid='cfg_entity_published', weak=False)