def update_successstories_supernav(sender, instance, created, **kwargs): """ Update download supernav """ # Skip in fixtures if kwargs.get('raw', False): return if instance.is_published and instance.featured: content = render_to_string('successstories/supernav.html', { 'story': instance, }) box, _ = Box.objects.update_or_create( label='supernav-python-success-stories', defaults={ 'content': content, 'content_markup_type': 'html', } ) # Purge Fastly cache purge_url('/box/supernav-python-success-stories/') if instance.is_published: # Purge the page itself purge_url(instance.get_absolute_url())
def purge_fastly_cache(sender, instance, **kwargs): """ Purge fastly.com cache on new jobs Requires settings.FASTLY_API_KEY being set """ if instance.status == Job.STATUS_APPROVED: purge_url(reverse('jobs:job_detail', kwargs={'pk': instance.pk})) purge_url(reverse('jobs:job_list')) purge_url(reverse('jobs:job_rss'))
def purge_nomination_pages(sender, instance, created, **kwargs): """ Purge pages that contain the rendered markup """ # Skip in fixtures if kwargs.get("raw", False): return # Purge the nomination page itself purge_url(instance.get_absolute_url()) if instance.nominee: # Purge the nominee page purge_url(instance.nominee.get_absolute_url()) if instance.election: # Purge the election page purge_url( reverse("nominations:nominees_list", kwargs={"election": instance.election.slug}))
def purge_fastly_download_pages(sender, instance, **kwargs): """ Purge Fastly caches so new Downloads show up more quickly """ # Don't purge on fixture loads if kwargs.get('raw', False): return # Only purge on published instances if instance.is_published: # Purge our common pages purge_url('/downloads/') purge_url('/downloads/latest/python2/') purge_url('/downloads/latest/python3/') purge_url('/downloads/mac-osx/') purge_url('/downloads/source/') purge_url('/downloads/windows/') if instance.get_version() is not None: purge_url('/ftp/python/{}/'.format(instance.get_version())) # See issue #584 for details purge_url('/box/supernav-python-downloads/') purge_url('/box/homepage-downloads/') purge_url('/box/download-sources/') # Purge the release page itself purge_url(instance.get_absolute_url())
def purge_fastly_download_pages(sender, instance, **kwargs): """ Purge Fastly caches so new Downloads show up more quickly """ # Don't purge on fixture loads if kwargs.get('raw', False): return # Only purge on published instances if instance.is_published: # Purge our common pages purge_url('/downloads/') purge_url('/downloads/latest/python2/') purge_url('/downloads/latest/python3/') purge_url('/downloads/mac-osx/') purge_url('/downloads/source/') purge_url('/downloads/windows/') # Purge the release page itself purge_url(instance.get_absolute_url())
def purge_fastly_cache(sender, instance, **kwargs): """ Purge fastly.com cache if in production and the page is published. Requires settings.FASTLY_API_KEY being set """ purge_url('/{}'.format(instance.path))