DiggBarMiddleware

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import re

from django.http import HttpResponseRedirect


class DiggBarMiddleware(object):
    diggbar_regex = re.compile("http://digg.com/\w{1,8}/?")
    rickroll = "http://www.youtube.com/watch?v=oHg5SJYRHA0"

    def process_request(self, request):
        if self.diggbar_regex.match(request.META.get('HTTP_REFERER', '')):
            return HttpResponseRedirect(self.rickroll)

More like this

  1. Transparent encryption for model fields by shadfc 4 years, 11 months ago
  2. manage.py for eclipse with pydev debugging by nickvlku 3 years, 11 months ago
  3. Mobilize your Django site by stevena0 4 years, 1 month ago
  4. BeforeFilter Middleware by david 4 years, 3 months ago
  5. encode_mailto by santuri 6 years ago

Comments

webology (on April 9, 2009):

Fantastic idea!

#

Romain Hardouin (on April 10, 2009):

diggbar is a kinda "back to the future", it just sucks.

Nice snippet but what the hell is this song ! lol

#

izibi (on April 10, 2009):

The code is wrong!

Line 11 should be:

if 'HTTP_REFERER' in request.META and self.diggbar_regex.match(request.META['HTTP_REFERER']):

#

teepark (on April 10, 2009):

nice catch izibi, thanks. fixed

#

(Forgotten your password?)