3
log = logging.getLogger('tracking.listeners')
6
from django.core.cache import cache
7
from django.db.models.signals import post_save, post_delete
9
from tracking.models import UntrackedUserAgent, BannedIP
14
def refresh_untracked_user_agents(sender, instance, created=False, **kwargs):
15
"""Updates the cache of user agents that we don't track"""
17
log.debug('Updating untracked user agents cache')
18
cache.set('_tracking_untracked_uas',
19
UntrackedUserAgent.objects.all(),
22
def refresh_banned_ips(sender, instance, created=False, **kwargs):
23
"""Updates the cache of banned IP addresses"""
25
log.debug('Updating banned IP cache')
26
cache.set('_tracking_banned_ips',
27
[b.ip_address for b in BannedIP.objects.all()],
30
post_save.connect(refresh_untracked_user_agents, sender=UntrackedUserAgent)
31
post_delete.connect(refresh_untracked_user_agents, sender=UntrackedUserAgent)
33
post_save.connect(refresh_banned_ips, sender=BannedIP)
34
post_delete.connect(refresh_banned_ips, sender=BannedIP)