SizeAndTimeMiddleware

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import time
from django.utils.encoding import smart_unicode
from django.template.defaultfilters import filesizeformat

class SizeAndTimeMiddleware(object):
    def process_request(self, request):
        request._request_start_time = time.time() 

    def process_response(self, request, response):
        if not hasattr(request, "_request_start_time"): return response
        if response['Content-Type'].split(';')[0] in (
            'text/html', 'application/xhtml+xml'
        ):
            response.content = smart_unicode(response.content).replace(
                "<!-- ____SIZE_AND_DATE_PLACEHOLDER____ -->", 
                "(%s, %0.3f seconds)" % (
                    filesizeformat(len(response.content)),
                    time.time() - request._request_start_time,
                )
            )
        return response

More like this

  1. Human format Date representation by sachingupta006 1 year, 1 month ago
  2. Effective content caching for mass-load site using redirect feature by nnseva 1 year, 10 months ago
  3. Format transition middleware by limodou 6 years, 2 months ago
  4. YUI Autocomplete by pigletto 5 years, 8 months ago
  5. Widget for DateTime values on Geraldo Reports by marinho 4 years, 1 month ago

Comments

amitu (on October 29, 2009):

This is now maintained as a part of dutils.

#

(Forgotten your password?)