Skip to content

Commit e17aa82

Browse files
committed
Deprecate using supybot.dynamicScope without an import (#1535)
1 parent b374418 commit e17aa82

File tree

10 files changed

+22
-1
lines changed

10 files changed

+22
-1
lines changed

plugins/Aka/plugin.py

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import supybot.ircutils as ircutils
4343
import supybot.callbacks as callbacks
4444
import supybot.httpserver as httpserver
45+
from supybot.dynamicScope import dynamic
4546
from supybot.i18n import PluginInternationalization
4647
_ = PluginInternationalization('Aka')
4748

plugins/Factoids/plugin.py

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import supybot.ircutils as ircutils
4444
import supybot.callbacks as callbacks
4545
import supybot.httpserver as httpserver
46+
from supybot.dynamicScope import dynamic
4647
from supybot.i18n import PluginInternationalization, internationalizeDocstring
4748
_ = PluginInternationalization('Factoids')
4849

plugins/Google/plugin.py

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import supybot.ircmsgs as ircmsgs
4242
import supybot.ircutils as ircutils
4343
import supybot.callbacks as callbacks
44+
from supybot.dynamicScope import dynamic
4445
from supybot.i18n import PluginInternationalization, internationalizeDocstring
4546
_ = PluginInternationalization('Google')
4647

plugins/Relay/plugin.py

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import supybot.ircutils as ircutils
4242
import supybot.callbacks as callbacks
4343
from supybot.utils.structures import MultiSet, TimeoutQueue
44+
from supybot.dynamicScope import dynamic
4445
from supybot.i18n import PluginInternationalization, internationalizeDocstring
4546
_ = PluginInternationalization('Relay')
4647

plugins/Success/plugin.py

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from supybot.commands import *
3333
import supybot.plugins as plugins
3434
import supybot.ircutils as ircutils
35+
from supybot.dynamicScope import dynamic
3536
from supybot.i18n import PluginInternationalization, internationalizeDocstring
3637
_ = PluginInternationalization('Success')
3738

src/callbacks.py

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import inspect
4444
import warnings
4545

46+
from .dynamicScope import dynamic
4647
from . import (conf, ircdb, irclib, ircmsgs, ircutils, log, registry,
4748
utils, world)
4849
from .utils import minisix

src/commands.py

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646

4747
from . import callbacks, conf, ircdb, ircmsgs, ircutils, log, \
4848
utils, world
49+
from .dynamicScope import dynamic
4950
from .utils import minisix
5051
from .i18n import PluginInternationalization, internationalizeDocstring
5152
_ = PluginInternationalization()

src/conf.py

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
from .utils import minisix
4040
from .utils.net import isSocketAddress
4141
from .version import version
42+
from .dynamicScope import dynamic
4243
from .i18n import PluginInternationalization
4344
_ = PluginInternationalization()
4445
if minisix.PY2:

src/dynamicScope.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
###
3030

3131
import sys
32+
import warnings
3233

3334
class DynamicScope(object):
3435
def _getLocals(self, name):
@@ -48,6 +49,17 @@ def __getattr__(self, name):
4849
def __setattr__(self, name, value):
4950
self._getLocals(name)[name] = value
5051

51-
(__builtins__ if isinstance(__builtins__, dict) else __builtins__.__dict__)['dynamic'] = DynamicScope()
52+
class _DynamicScopeBuiltinsWrapper(DynamicScope):
53+
def __getattr__(self, name):
54+
warnings.warn('Using DynamicScope without an explicit import is '
55+
'deprecated and will be removed in a future Limnoria '
56+
'version. Use instead: '
57+
'from supybot.dynamicScope import dynamic',
58+
stacklevel=2)
59+
return super().__getattr__(name)
60+
61+
dynamic = DynamicScope()
62+
(__builtins__ if isinstance(__builtins__, dict) else __builtins__.__dict__)['dynamic'] = \
63+
_DynamicScopeBuiltinsWrapper()
5264

5365
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

test/test_dynamicScope.py

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
###
3030

3131
from supybot.test import *
32+
from supybot.dynamicScope import dynamic
3233

3334
class TestDynamic(SupyTestCase):
3435
def test(self):

0 commit comments

Comments
 (0)