django-defender/defender/signals.py

31 lines
832 B
Python

from django.dispatch import Signal
username_block = Signal() # (providing_args=["username"])
username_unblock = Signal() # (providing_args=["username"])
ip_block = Signal() # (providing_args=["ip_address"])
ip_unblock = Signal() # (providing_args=["ip_address"])
class BlockSignal:
"""
Providing a sender is mandatory when sending signals, hence
this empty sender class.
"""
pass
def send_username_block_signal(username):
username_block.send(sender=BlockSignal, username=username)
def send_username_unblock_signal(username):
username_unblock.send(sender=BlockSignal, username=username)
def send_ip_block_signal(ip_address):
ip_block.send(sender=BlockSignal, ip_address=ip_address)
def send_ip_unblock_signal(ip_address):
ip_unblock.send(sender=BlockSignal, ip_address=ip_address)