Skip to content

Commit

Permalink
Deprecate them in a way that doesn't break reactor installation
Browse files Browse the repository at this point in the history
installReactor and deprecatedModuleAttribute have a fight :/
  • Loading branch information
exarkun committed Oct 7, 2022
1 parent 3469227 commit 1003c25
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 26 deletions.
26 changes: 0 additions & 26 deletions src/twisted/internet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,3 @@
to use the same code for different loops, from Twisted's basic, yet portable,
select-based loop to the loops of various GUI toolkits like GTK+ or Tk.
"""

from twisted.python.deprecate import deprecatedModuleAttribute
from twisted.python.versions import Version

deprecatedModuleAttribute(
Version("Twisted", "NEXT", 0, 0),
"Please use twisted.internet.gireactor instead.",
"twisted.internet",
"gtk2reactor",
)

deprecatedModuleAttribute(
Version("Twisted", "NEXT", 0, 0),
"Please use twisted.internet.gireactor instead.",
"twisted.internet",
"gtk3reactor",
)

deprecatedModuleAttribute(
Version("Twisted", "NEXT", 0, 0),
"Please use twisted.internet.gireactor instead.",
"twisted.internet",
"glib2reactor",
)

del Version, deprecatedModuleAttribute
23 changes: 23 additions & 0 deletions src/twisted/internet/_deprecate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""
Support similar deprecation of several reactors.
"""

import warnings

from twisted.python.deprecate import DEPRECATION_WARNING_FORMAT
from incremental import Version, getVersionString

def deprecatedGnomeReactor(name: str, version: Version) -> None:
"""
Emit a deprecation warning about a gnome-related reactor.
@param name: The name of the reactor. For example, C{"gtk2reactor"}.
@param version: The version in which the deprecation was introduced.
"""
stem = DEPRECATION_WARNING_FORMAT % {
"fqpn": "twisted.internet." + name,
"version": getVersionString(version),
}
msg = stem + ". Please use twisted.internet.gireactor instead."
warnings.warn(msg, category=DeprecationWarning)
6 changes: 6 additions & 0 deletions src/twisted/internet/glib2reactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
intended to be called directly.
"""

from incremental import Version

from ._deprecate import deprecatedGnomeReactor

deprecatedGnomeReactor("glib2reactor", Version("Twisted", "NEXT", 0, 0))

from twisted.internet import gtk2reactor


Expand Down
6 changes: 6 additions & 0 deletions src/twisted/internet/gtk2reactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
intended to be called directly.
"""

from incremental import Version

from ._deprecate import deprecatedGnomeReactor

deprecatedGnomeReactor("gtk2reactor", Version("Twisted", "NEXT", 0, 0))

# System Imports
import sys

Expand Down
6 changes: 6 additions & 0 deletions src/twisted/internet/gtk3reactor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
See that module instead.
"""

from incremental import Version

from ._deprecate import deprecatedGnomeReactor

deprecatedGnomeReactor("gtk3reactor", Version("Twisted", "NEXT", 0, 0))

from twisted.internet import gireactor

Gtk3Reactor = gireactor.GIReactor
Expand Down

0 comments on commit 1003c25

Please sign in to comment.