Django 1.0 released (and a last minute PyISAPIe break)

Created 4th September, 2008 07:31 (UTC), last edited 4th September, 2008 07:33 (UTC)

Django 1.0 was released earlier today (or yesterday, depending on your time zone). In their home time zone the developers had the good sense to release it on my birthday :) It does however break PyISAPIe again :(

The patch below is against our version of django.core.handlers.pyisapie which has the previous fixes in it and some further customisation — it might not work directly on the version anybody else has.

The essence of the changes are to remove django.dispatch.dispatcher and to make use of django.core.signals instead for signalling the start and completion of the page requests.

Index: pyisapie.py
===================================================================
--- pyisapie.py	(revision 3370)
+++ pyisapie.py	(working copy)
@@ -7,7 +7,6 @@
 
 from django.core.handlers.base import BaseHandler
 from django.core import signals
-from django.dispatch import dispatcher
 from django.utils import datastructures
 from django import http
 import os
@@ -139,7 +138,7 @@
         if This._request_middleware is None:
             This.load_middleware()
 
-        dispatcher.send(signal=signals.request_started)
+        signals.request_started.send(sender=This.__class__)
 
         try:
             request = PyISAPIeRequest()
@@ -150,7 +149,7 @@
                 response = middleware_method(request, response)
 
         finally:
-            dispatcher.send(signal=signals.request_finished)
+            signals.request_finished.send(sender=This.__class__)
 
 
         process_response(response)

Categories: