Remove self links middleware

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

class RemoveSelfLinks:
    def process_response(self, request, response):
        if response.status_code == 200:
            link = request.META['PATH_INFO']
            response.content = \
                re.sub( \
                    r'<a([^>]+)href="%s"([^>]*)>(.*?(?!</a>)[^<]*)</a>' % link, \
                    r'<span \1 \2>\3</span>', \
                    response.content)
        return response

Comments

(Forgotten your password?)

You may use Markdown syntax here, but raw HTML will be removed.