Merge 5ad1d168b89fa041262eaecb7cddf43630d772aa into 83d301c604edaf14825ca6c67c256fe910e0729e

This commit is contained in:
James Lu 2025-04-20 18:03:14 +00:00 committed by GitHub
commit 76bc7adcf0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 25 additions and 4 deletions

View File

@ -43,6 +43,7 @@ import supybot.ircutils as ircutils
import supybot.callbacks as callbacks import supybot.callbacks as callbacks
import supybot.httpserver as httpserver import supybot.httpserver as httpserver
from supybot.i18n import PluginInternationalization from supybot.i18n import PluginInternationalization
from supybot.dynamicScope import dynamic
_ = PluginInternationalization('Aka') _ = PluginInternationalization('Aka')
try: try:

View File

@ -44,6 +44,7 @@ import supybot.ircutils as ircutils
import supybot.callbacks as callbacks import supybot.callbacks as callbacks
import supybot.httpserver as httpserver import supybot.httpserver as httpserver
from supybot.i18n import PluginInternationalization, internationalizeDocstring from supybot.i18n import PluginInternationalization, internationalizeDocstring
from supybot.dynamicScope import dynamic
_ = PluginInternationalization('Factoids') _ = PluginInternationalization('Factoids')
import sqlite3 import sqlite3

View File

@ -42,6 +42,7 @@ import supybot.ircmsgs as ircmsgs
import supybot.ircutils as ircutils import supybot.ircutils as ircutils
import supybot.callbacks as callbacks import supybot.callbacks as callbacks
from supybot.i18n import PluginInternationalization, internationalizeDocstring from supybot.i18n import PluginInternationalization, internationalizeDocstring
from supybot.dynamicScope import dynamic
_ = PluginInternationalization('Google') _ = PluginInternationalization('Google')
from .parser import GoogleHTMLParser from .parser import GoogleHTMLParser

View File

@ -42,6 +42,7 @@ import supybot.ircutils as ircutils
import supybot.callbacks as callbacks import supybot.callbacks as callbacks
from supybot.utils.structures import MultiSet, TimeoutQueue from supybot.utils.structures import MultiSet, TimeoutQueue
from supybot.i18n import PluginInternationalization, internationalizeDocstring from supybot.i18n import PluginInternationalization, internationalizeDocstring
from supybot.dynamicScope import dynamic
_ = PluginInternationalization('Relay') _ = PluginInternationalization('Relay')
class Relay(callbacks.Plugin): class Relay(callbacks.Plugin):

View File

@ -33,6 +33,7 @@ from supybot.commands import *
import supybot.plugins as plugins import supybot.plugins as plugins
import supybot.ircutils as ircutils import supybot.ircutils as ircutils
from supybot.i18n import PluginInternationalization, internationalizeDocstring from supybot.i18n import PluginInternationalization, internationalizeDocstring
from supybot.dynamicScope import dynamic
_ = PluginInternationalization('Success') _ = PluginInternationalization('Success')
class Success(plugins.ChannelIdDatabasePlugin): class Success(plugins.ChannelIdDatabasePlugin):

View File

@ -45,6 +45,7 @@ import warnings
from . import (conf, ircdb, irclib, ircmsgs, ircutils, log, registry, from . import (conf, ircdb, irclib, ircmsgs, ircutils, log, registry,
utils, world) utils, world)
from .dynamicScope import dynamic
from .utils import minisix from .utils import minisix
from .utils.iter import any, all from .utils.iter import any, all
from .i18n import PluginInternationalization from .i18n import PluginInternationalization

View File

@ -46,6 +46,7 @@ except ImportError: # Windows!
from . import callbacks, conf, ircdb, ircmsgs, ircutils, log, \ from . import callbacks, conf, ircdb, ircmsgs, ircutils, log, \
utils, world utils, world
from .dynamicScope import dynamic
from .utils import minisix from .utils import minisix
from .i18n import PluginInternationalization, internationalizeDocstring from .i18n import PluginInternationalization, internationalizeDocstring
_ = PluginInternationalization() _ = PluginInternationalization()

View File

@ -36,6 +36,7 @@ import socket
import random import random
from . import ircutils, registry, utils from . import ircutils, registry, utils
from .dynamicScope import dynamic
from .utils import minisix from .utils import minisix
from .utils.net import isSocketAddress from .utils.net import isSocketAddress
from .version import version from .version import version

View File

@ -28,6 +28,7 @@
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
### ###
import logging
import sys import sys
class DynamicScope(object): class DynamicScope(object):
@ -48,6 +49,18 @@ class DynamicScope(object):
def __setattr__(self, name, value): def __setattr__(self, name, value):
self._getLocals(name)[name] = value self._getLocals(name)[name] = value
(__builtins__ if isinstance(__builtins__, dict) else __builtins__.__dict__)['dynamic'] = DynamicScope() class _DynamicScopeBuiltinsWrapper(DynamicScope):
def __getattr__(self, name):
_logger = logging.getLogger('supybot')
_logger.warning('Using DynamicScope without an explicit import is '
'deprecated and will be removed in a future Limnoria '
'version. Use instead: '
'from supybot.dynamicScope import dynamic',
stacklevel=2, stack_info=True)
return super().__getattr__(name)
dynamic = DynamicScope()
(__builtins__ if isinstance(__builtins__, dict) else __builtins__.__dict__)['dynamic'] = \
_DynamicScopeBuiltinsWrapper()
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

View File

@ -86,10 +86,9 @@ class Logger(logging.Logger):
# The traceback should be sufficient if we want it. # The traceback should be sufficient if we want it.
# self.error('Exception string: %s', eStrId) # self.error('Exception string: %s', eStrId)
def _log(self, level, msg, args, exc_info=None, extra=None): def _log(self, level, msg, args, **kwargs):
msg = format(msg, *args) msg = format(msg, *args)
logging.Logger._log(self, level, msg, (), exc_info=exc_info, logging.Logger._log(self, level, msg, (), **kwargs)
extra=extra)
class StdoutStreamHandler(logging.StreamHandler): class StdoutStreamHandler(logging.StreamHandler):

View File

@ -28,6 +28,7 @@
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
### ###
from supybot.dynamicScope import dynamic
from supybot.test import * from supybot.test import *
class TestDynamic(SupyTestCase): class TestDynamic(SupyTestCase):