Source code for permabots.apps

from django.apps import AppConfig
from django.apps import apps
from django.db.models import signals

[docs]def connect_bot_signals(): from . import signals as handlers sender = apps.get_model("permabots", "Bot") signals.post_delete.connect(handlers.delete_bot_integrations, sender=sender, dispatch_uid="bot_delete_integrations") signals.post_save.connect(handlers.delete_cache, sender=sender, dispatch_uid='bot_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=sender, dispatch_uid='bot_delete_cache')
[docs]def connect_telegram_bot_signals(): from . import signals as handlers sender = apps.get_model("permabots", "TelegramBot") signals.pre_save.connect(handlers.validate_bot, sender=sender, dispatch_uid='telegram_bot_validate') signals.pre_save.connect(handlers.set_bot_webhook, sender=sender, dispatch_uid='telegram_bot_set_webhook') signals.pre_save.connect(handlers.set_bot_api_data, sender=sender, dispatch_uid='telegram_bot_set_api_data') signals.post_save.connect(handlers.delete_cache, sender=sender, dispatch_uid='telegram_bot_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=sender, dispatch_uid='telegram_bot_delete_cache')
[docs]def connect_kik_bot_signals(): from . import signals as handlers sender = apps.get_model("permabots", "KikBot") signals.pre_save.connect(handlers.set_bot_webhook, sender=sender, dispatch_uid='kik_bot_set_webhook') signals.post_save.connect(handlers.delete_cache, sender=sender, dispatch_uid='kik_bot_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=sender, dispatch_uid='kik_bot_delete_cache')
[docs]def connect_messenger_bot_signals(): from . import signals as handlers sender = apps.get_model("permabots", "MessengerBot") signals.pre_save.connect(handlers.set_bot_webhook, sender=sender, dispatch_uid='messenger_bot_set_webhook') signals.post_save.connect(handlers.delete_cache, sender=sender, dispatch_uid='messenger_bot_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=sender, dispatch_uid='messenger_bot_delete_cache')
[docs]def connect_telegram_api_signals(): from . import signals as handlers chat = apps.get_model("permabots", "Chat") user = apps.get_model("permabots", "User") signals.post_save.connect(handlers.delete_cache, sender=chat, dispatch_uid='telegram_chat_delete_cache') signals.post_save.connect(handlers.delete_cache, sender=user, dispatch_uid='telegram_user_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=chat, dispatch_uid='telegram_chat_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=user, dispatch_uid='telegram_user_delete_cache')
[docs]def connect_kik_api_signals(): from . import signals as handlers user = apps.get_model("permabots", "KikUser") signals.post_save.connect(handlers.delete_cache, sender=user, dispatch_uid='kik_user_delete_cache') signals.post_delete.connect(handlers.delete_cache, sender=user, dispatch_uid='kik_user_delete_cache')
[docs]def connect_environment_vars_signals(): from . import signals as handlers environment_var = apps.get_model("permabots", "EnvironmentVar") signals.post_save.connect(handlers.delete_cache_env_vars, sender=environment_var, dispatch_uid='environment_related_to_bot_delete_cache') signals.post_delete.connect(handlers.delete_cache_env_vars, sender=environment_var, dispatch_uid='environment_related_to_bot_delete_cache')
[docs]def connect_handlers_signals(): from . import signals as handlers handler = apps.get_model("permabots", "Handler") signals.post_save.connect(handlers.delete_cache_handlers, sender=handler, dispatch_uid='handler_related_to_bot_delete_cache') signals.post_delete.connect(handlers.delete_cache_handlers, sender=handler, dispatch_uid='handler_related_to_bot_delete_cache')
[docs]def connect_source_states_signals(): from . import signals as handlers handler = apps.get_model("permabots", "Handler") signals.m2m_changed.connect(handlers.delete_cache_source_states, sender=handler.source_states.through, dispatch_uid='source_states_related_to_handler_delete_cache')
[docs]class PermabotsAppConfig(AppConfig): name = "permabots" verbose_name = "Permabots"
[docs] def ready(self): connect_bot_signals() connect_telegram_bot_signals() connect_kik_bot_signals() connect_messenger_bot_signals() connect_telegram_api_signals() connect_kik_api_signals() connect_environment_vars_signals() connect_handlers_signals() connect_source_states_signals()