diff --git a/dav_events/utils.py b/dav_events/utils.py new file mode 100644 index 0000000..85377a6 --- /dev/null +++ b/dav_events/utils.py @@ -0,0 +1,13 @@ +import logging +from django.utils import timezone + +from .models import Participant + +logger = logging.getLogger(__name__) + + +def purge_participants(): + now = timezone.now() + for p in Participant.objects.filter(purge_at__lte=now): + logger.info('Purge participant \'%s\'', p) + p.delete() diff --git a/dav_events/views/base.py b/dav_events/views/base.py index 03655ed..40a95ce 100644 --- a/dav_events/views/base.py +++ b/dav_events/views/base.py @@ -1,5 +1,11 @@ from django.views import generic +from ..utils import purge_participants + class HomeView(generic.TemplateView): template_name = 'dav_events/home.html' + + def get(self, request, *args, **kwargs): + purge_participants() + return super(HomeView, self).get(request, *args, **kwargs)