Browse Source

Refs #24205 -- Removed Signal.disconnect()'s weak argument.

Per deprecation timeline.
Tim Graham 8 years ago
parent
commit
03087f80d1

+ 1 - 5
django/db/models/signals.py

@@ -1,10 +1,8 @@
-import warnings
 from functools import partial
 
 from django.db.models.utils import make_model_tuple
 from django.dispatch import Signal
 from django.utils import six
-from django.utils.deprecation import RemovedInDjango20Warning
 
 
 class_prepared = Signal(providing_args=["class"])
@@ -32,9 +30,7 @@ class ModelSignal(Signal):
             weak=weak, dispatch_uid=dispatch_uid,
         )
 
-    def disconnect(self, receiver=None, sender=None, weak=None, dispatch_uid=None, apps=None):
-        if weak is not None:
-            warnings.warn("Passing `weak` to disconnect has no effect.", RemovedInDjango20Warning, stacklevel=2)
+    def disconnect(self, receiver=None, sender=None, dispatch_uid=None, apps=None):
         return self._lazy_method(
             super(ModelSignal, self).disconnect, apps, receiver, sender, dispatch_uid=dispatch_uid
         )

+ 1 - 5
django/dispatch/dispatcher.py

@@ -1,10 +1,8 @@
 import sys
 import threading
-import warnings
 import weakref
 
 from django.utils import six
-from django.utils.deprecation import RemovedInDjango20Warning
 from django.utils.inspect import func_accepts_kwargs
 from django.utils.six.moves import range
 
@@ -126,7 +124,7 @@ class Signal(object):
                 self.receivers.append((lookup_key, receiver))
             self.sender_receivers_cache.clear()
 
-    def disconnect(self, receiver=None, sender=None, weak=None, dispatch_uid=None):
+    def disconnect(self, receiver=None, sender=None, dispatch_uid=None):
         """
         Disconnect receiver from sender for signal.
 
@@ -145,8 +143,6 @@ class Signal(object):
             dispatch_uid
                 the unique identifier of the receiver to disconnect
         """
-        if weak is not None:
-            warnings.warn("Passing `weak` to disconnect has no effect.", RemovedInDjango20Warning, stacklevel=2)
         if dispatch_uid:
             lookup_key = (dispatch_uid, _make_id(sender))
         else:

+ 3 - 0
docs/releases/2.0.txt

@@ -233,3 +233,6 @@ These features have reached the end of their deprecation cycle and are removed
 in Django 2.0. See :ref:`deprecated-features-1.9` and
 :ref:`deprecated-features-1.10` for details, including how to remove usage of
 these features.
+
+* The ``weak`` argument to ``django.dispatch.signals.Signal.disconnect()`` is
+  removed.

+ 0 - 5
docs/topics/signals.txt

@@ -277,8 +277,3 @@ arguments are as described in :meth:`.Signal.connect`. The method returns
 
 The ``receiver`` argument indicates the registered receiver to disconnect. It
 may be ``None`` if ``dispatch_uid`` is used to identify the receiver.
-
-.. deprecated:: 1.9
-
-    The ``weak`` argument is deprecated as it has no effect. It will be removed
-    in Django 2.0.

+ 0 - 24
tests/dispatch/test_removedindjango20.py

@@ -1,24 +0,0 @@
-import warnings
-
-from django.dispatch import Signal
-from django.test import SimpleTestCase
-
-a_signal = Signal(providing_args=['val'])
-
-
-def receiver_1_arg(val, **kwargs):
-    return val
-
-
-class DispatcherTests(SimpleTestCase):
-
-    def test_disconnect_weak_deprecated(self):
-        a_signal.connect(receiver_1_arg)
-        with warnings.catch_warnings(record=True) as warns:
-            warnings.simplefilter('always')
-            a_signal.disconnect(receiver_1_arg, weak=True)
-        self.assertEqual(len(warns), 1)
-        self.assertEqual(
-            str(warns[0].message),
-            'Passing `weak` to disconnect has no effect.',
-        )