diff options
| author | 2022-04-25 20:09:53 +0300 | |
|---|---|---|
| committer | 2022-04-25 20:09:53 +0300 | |
| commit | 0c8e04c9fda2504898881090c7722457f5c9e5ac (patch) | |
| tree | e81713ca15a276851cfccfa6afb1a9b5edf8c17b | |
| parent | Add support for BIG SOLIDUS unicode characters in off topic names (#2146) (diff) | |
| parent | Merge branch 'main' into mbaruh/ext_fix (diff) | |
Merge pull request #2144 from python-discord/mbaruh/ext_fix
Make extension management async
Diffstat (limited to '')
| -rw-r--r-- | bot/exts/utils/extensions.py | 18 | 
1 files changed, 9 insertions, 9 deletions
| diff --git a/bot/exts/utils/extensions.py b/bot/exts/utils/extensions.py index 9862988cb..0f5fc0de4 100644 --- a/bot/exts/utils/extensions.py +++ b/bot/exts/utils/extensions.py @@ -54,7 +54,7 @@ class Extensions(commands.Cog):          if "*" in extensions or "**" in extensions:              extensions = set(self.bot.all_extensions) - set(self.bot.extensions.keys()) -        msg = self.batch_manage(Action.LOAD, *extensions) +        msg = await self.batch_manage(Action.LOAD, *extensions)          await ctx.send(msg)      @extensions_group.command(name="unload", aliases=("ul",)) @@ -76,7 +76,7 @@ class Extensions(commands.Cog):              if "*" in extensions or "**" in extensions:                  extensions = set(self.bot.extensions.keys()) - UNLOAD_BLACKLIST -            msg = self.batch_manage(Action.UNLOAD, *extensions) +            msg = await self.batch_manage(Action.UNLOAD, *extensions)          await ctx.send(msg) @@ -100,7 +100,7 @@ class Extensions(commands.Cog):              extensions = set(self.bot.extensions.keys()) | set(extensions)              extensions.remove("*") -        msg = self.batch_manage(Action.RELOAD, *extensions) +        msg = await self.batch_manage(Action.RELOAD, *extensions)          await ctx.send(msg) @@ -151,21 +151,21 @@ class Extensions(commands.Cog):          return categories -    def batch_manage(self, action: Action, *extensions: str) -> str: +    async def batch_manage(self, action: Action, *extensions: str) -> str:          """          Apply an action to multiple extensions and return a message with the results.          If only one extension is given, it is deferred to `manage()`.          """          if len(extensions) == 1: -            msg, _ = self.manage(action, extensions[0]) +            msg, _ = await self.manage(action, extensions[0])              return msg          verb = action.name.lower()          failures = {}          for extension in extensions: -            _, error = self.manage(action, extension) +            _, error = await self.manage(action, extension)              if error:                  failures[extension] = error @@ -180,17 +180,17 @@ class Extensions(commands.Cog):          return msg -    def manage(self, action: Action, ext: str) -> t.Tuple[str, t.Optional[str]]: +    async def manage(self, action: Action, ext: str) -> t.Tuple[str, t.Optional[str]]:          """Apply an action to an extension and return the status message and any error message."""          verb = action.name.lower()          error_msg = None          try: -            action.value(self.bot, ext) +            await action.value(self.bot, ext)          except (commands.ExtensionAlreadyLoaded, commands.ExtensionNotLoaded):              if action is Action.RELOAD:                  # When reloading, just load the extension if it was not loaded. -                return self.manage(Action.LOAD, ext) +                return await self.manage(Action.LOAD, ext)              msg = f":x: Extension `{ext}` is already {verb}ed."              log.debug(msg[4:]) | 
