#17895: override_settings doesn't send the setting_changed signal when restoring the original value ---------------------------------------------+------------------------ Reporter: aaugustin | Owner: nobody Type: Bug | Status: new Component: Testing framework | Version: SVN Severity: Release blocker | Keywords: Triage Stage: Unreviewed | Has patch: 1 Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | ---------------------------------------------+------------------------ Django 1.4 introduces the `override_settings` context manager / decorator. When a setting is overridden, it fires the `setting_changed` signal. This signal allows to clean up or reset state that depends on a given setting, when that setting is changed.
However, in the current implementation, the signal isn't fired when the original value of the setting is restored. I think `setting_changed` would be easier to use if it's fired whenever the value of a setting is "changed" in a broad sense, that is "overridden" or "reset". While discussing this on IRC, it was suggested to add an extra argument, like `state="pre" / "post"`, to distinguish between the two phases. I'm marking this ticket as a release blocker because it would significantly change the behavior of `setting_changed`; we must make a decision before 1.4. It's also a prerequisite for `17882-second-take.patch` on #17882. Patch w/ tests and docs attached. -- Ticket URL: <https://code.djangoproject.com/ticket/17895> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.