# HG changeset patch # User Peter Sanchez # Date 1313698817 25200 # Thu Aug 18 13:20:17 2011 -0700 # Node ID 70bebfd6d6facd9dd1e9a2e8467c278a50989c16 # Parent c26c4e08d57fdc4c9663d1b69c222e2307e359a7 Added subscription_needs_update signal. Much more user friendly than automatically re-subscribing. diff --git a/djpubsubhubbub/signals.py b/djpubsubhubbub/signals.py --- a/djpubsubhubbub/signals.py +++ b/djpubsubhubbub/signals.py @@ -4,3 +4,4 @@ pre_subscribe = Signal(providing_args=['created']) verified = Signal() updated = Signal(providing_args=['update']) +subscription_needs_update = Signal(providing_args=['hub_url', 'topic_url']) diff --git a/djpubsubhubbub/views.py b/djpubsubhubbub/views.py --- a/djpubsubhubbub/views.py +++ b/djpubsubhubbub/views.py @@ -8,7 +8,7 @@ from django.utils.datastructures import MultiValueDictKeyError from djpubsubhubbub.models import Subscription, DEFAULT_LEASE_SECONDS -from djpubsubhubbub.signals import verified, updated +from djpubsubhubbub.signals import verified, updated, subscription_needs_update @csrf_exempt @@ -85,14 +85,10 @@ needs_update = True if needs_update: - expiration_time = subscription.lease_expires - datetime.now() - seconds = (expiration_time.days * 86400) + \ - expiration_time.seconds - Subscription.objects.do_action( - self_url, - hub_url, - callback=request.build_absolute_uri(), - lease_seconds=seconds, + subscription_needs_update.send( + sender=subscription, + hub_url=hub_url, + topic_url=self_url, ) updated.send(sender=subscription, update=parsed)