示例#1
0
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())
示例#2
0
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'))
示例#3
0
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'))
示例#4
0
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}))
示例#5
0
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())
示例#6
0
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())
示例#7
0
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))
示例#8
0
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))
示例#9
0
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())
示例#10
0
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())