Django

Code

Show
Ignore:
Timestamp:
08/06/08 10:32:46 (5 months ago)
Author:
jacob
Message:

Major refactoring of django.dispatch with an eye towards speed. The net result is that signals are up to 90% faster.

Though some attempts and backwards-compatibility were made, speed trumped compatibility. Thus, as usual, check BackwardsIncompatibleChanges for the complete list of backwards-incompatible changes.

Thanks to Jeremy Dunck and Keith Busell for the bulk of the work; some ideas from Brian Herring's previous work (refs #4561) were incorporated.

Documentation is, sigh, still forthcoming.

Fixes #6814 and #3951 (with the new dispatch_uid argument to connect).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/signals.py

    r4265 r8223  
    1 class_prepared = object() 
     1from django.dispatch import Signal 
    22 
    3 pre_init= object() 
    4 post_init = object() 
     3class_prepared = Signal(providing_args=["class"]) 
    54 
    6 pre_save = object(
    7 post_save = object(
     5pre_init = Signal(providing_args=["instance", "args", "kwargs"]
     6post_init = Signal(providing_args=["instance"]
    87 
    9 pre_delete = object(
    10 post_delete = object(
     8pre_save = Signal(providing_args=["instance", "raw"]
     9post_save = Signal(providing_args=["instance", "raw", "created"]
    1110 
    12 post_syncdb = object() 
     11pre_delete = Signal(providing_args=["instance"]) 
     12post_delete = Signal(providing_args=["instance"]) 
     13 
     14post_syncdb = Signal(providing_args=["class", "app", "created_models", "verbosity", "interactive"])