Browse Source

[commands] Double underscore some attributes.

pull/2024/head
Rapptz 6 years ago
parent
commit
e567b59fea
  1. 32
      discord/ext/commands/bot.py

32
discord/ext/commands/bot.py

@ -99,8 +99,8 @@ class BotBase(GroupMixin):
super().__init__(**options) super().__init__(**options)
self.command_prefix = command_prefix self.command_prefix = command_prefix
self.extra_events = {} self.extra_events = {}
self._cogs = {} self.__cogs = {}
self._extensions = {} self.__extensions = {}
self._checks = [] self._checks = []
self._check_once = [] self._check_once = []
self._before_invoke = None self._before_invoke = None
@ -129,13 +129,13 @@ class BotBase(GroupMixin):
asyncio.ensure_future(coro, loop=self.loop) asyncio.ensure_future(coro, loop=self.loop)
async def close(self): async def close(self):
for extension in tuple(self._extensions): for extension in tuple(self.__extensions):
try: try:
self.unload_extension(extension) self.unload_extension(extension)
except Exception: except Exception:
pass pass
for cog in tuple(self._cogs): for cog in tuple(self.__cogs):
try: try:
self.remove_cog(cog) self.remove_cog(cog)
except Exception: except Exception:
@ -477,7 +477,7 @@ class BotBase(GroupMixin):
raise TypeError('cogs must derive from Cog') raise TypeError('cogs must derive from Cog')
cog = cog._inject(self) cog = cog._inject(self)
self._cogs[cog.__cog_name__] = cog self.__cogs[cog.__cog_name__] = cog
def get_cog(self, name): def get_cog(self, name):
"""Gets the cog instance requested. """Gets the cog instance requested.
@ -491,7 +491,7 @@ class BotBase(GroupMixin):
This is equivalent to the name passed via keyword This is equivalent to the name passed via keyword
argument in class creation or the class name if unspecified. argument in class creation or the class name if unspecified.
""" """
return self._cogs.get(name) return self.__cogs.get(name)
def remove_cog(self, name): def remove_cog(self, name):
"""Removes a cog from the bot. """Removes a cog from the bot.
@ -507,7 +507,7 @@ class BotBase(GroupMixin):
The name of the cog to remove. The name of the cog to remove.
""" """
cog = self._cogs.pop(name, None) cog = self.__cogs.pop(name, None)
if cog is None: if cog is None:
return return
@ -519,14 +519,14 @@ class BotBase(GroupMixin):
@property @property
def cogs(self): def cogs(self):
"""Mapping[:class:`str`, :class:`Cog`]: A read-only mapping of cog name to cog.""" """Mapping[:class:`str`, :class:`Cog`]: A read-only mapping of cog name to cog."""
return types.MappingProxyType(self._cogs) return types.MappingProxyType(self.__cogs)
# extensions # extensions
def _remove_module_references(self, name): def _remove_module_references(self, name):
# find all references to the module # find all references to the module
# remove the cogs registered from the module # remove the cogs registered from the module
for cogname, cog in self._cogs.copy().items(): for cogname, cog in self.__cogs.copy().items():
if _is_submodule(name, cog.__module__): if _is_submodule(name, cog.__module__):
self.remove_cog(cogname) self.remove_cog(cogname)
@ -558,7 +558,7 @@ class BotBase(GroupMixin):
except Exception: except Exception:
pass pass
finally: finally:
self._extensions.pop(key, None) self.__extensions.pop(key, None)
sys.modules.pop(key, None) sys.modules.pop(key, None)
name = lib.__name__ name = lib.__name__
for module in list(sys.modules.keys()): for module in list(sys.modules.keys()):
@ -566,7 +566,7 @@ class BotBase(GroupMixin):
del sys.modules[module] del sys.modules[module]
def _load_from_module_spec(self, lib, key): def _load_from_module_spec(self, lib, key):
# precondition: key not in self._extensions # precondition: key not in self.__extensions
try: try:
setup = getattr(lib, 'setup') setup = getattr(lib, 'setup')
except AttributeError: except AttributeError:
@ -580,7 +580,7 @@ class BotBase(GroupMixin):
self._call_module_finalizers(lib, key) self._call_module_finalizers(lib, key)
raise errors.ExtensionFailed(key, e) from e raise errors.ExtensionFailed(key, e) from e
else: else:
self._extensions[key] = lib self.__extensions[key] = lib
def load_extension(self, name): def load_extension(self, name):
"""Loads an extension. """Loads an extension.
@ -611,7 +611,7 @@ class BotBase(GroupMixin):
The extension setup function had an execution error. The extension setup function had an execution error.
""" """
if name in self._extensions: if name in self.__extensions:
raise errors.ExtensionAlreadyLoaded(name) raise errors.ExtensionAlreadyLoaded(name)
try: try:
@ -645,7 +645,7 @@ class BotBase(GroupMixin):
The extension was not loaded. The extension was not loaded.
""" """
lib = self._extensions.get(name) lib = self.__extensions.get(name)
if lib is None: if lib is None:
raise errors.ExtensionNotLoaded(name) raise errors.ExtensionNotLoaded(name)
@ -679,7 +679,7 @@ class BotBase(GroupMixin):
The extension setup function had an execution error. The extension setup function had an execution error.
""" """
lib = self._extensions.get(name) lib = self.__extensions.get(name)
if lib is None: if lib is None:
raise errors.ExtensionNotLoaded(name) raise errors.ExtensionNotLoaded(name)
@ -708,7 +708,7 @@ class BotBase(GroupMixin):
@property @property
def extensions(self): def extensions(self):
"""Mapping[:class:`str`, :class:`py:types.ModuleType`]: A read-only mapping of extension name to extension.""" """Mapping[:class:`str`, :class:`py:types.ModuleType`]: A read-only mapping of extension name to extension."""
return types.MappingProxyType(self._extensions) return types.MappingProxyType(self.__extensions)
# help command stuff # help command stuff

Loading…
Cancel
Save