diff --git a/changelog.d/downloader/3285.misc.1.rst b/changelog.d/downloader/3285.misc.1.rst new file mode 100644 index 000000000..5861f78e4 --- /dev/null +++ b/changelog.d/downloader/3285.misc.1.rst @@ -0,0 +1 @@ +Fix `NameError` in :func:`redbot.cogs.downloader.downloader.Downloader._filter_incorrect_cogs_by_names()`. diff --git a/changelog.d/downloader/3285.misc.2.rst b/changelog.d/downloader/3285.misc.2.rst new file mode 100644 index 000000000..5b423c4e7 --- /dev/null +++ b/changelog.d/downloader/3285.misc.2.rst @@ -0,0 +1 @@ +Move handling of ``author`` key in ``info.json`` to :func:`redbot.cogs.downloader.json_mixins.RepoJSONMixin`. diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index d2f35e828..d4da0d09e 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -1094,7 +1094,7 @@ class Downloader(commands.Cog): if name_already_used: message += _( "\nSome cogs with these names are already installed from different repos: " - ) + humanize_list(already_installed) + ) + humanize_list(name_already_used) correct_cogs, add_to_message = self._filter_incorrect_cogs(cogs) if add_to_message: return correct_cogs, f"{message}{add_to_message}" diff --git a/redbot/cogs/downloader/installable.py b/redbot/cogs/downloader/installable.py index 327d571ad..20997bb25 100644 --- a/redbot/cogs/downloader/installable.py +++ b/redbot/cogs/downloader/installable.py @@ -86,7 +86,6 @@ class Installable(RepoJSONMixin): self.repo_name = self._location.parent.stem self.commit = commit - self.author: Tuple[str, ...] = () self.min_bot_version = red_version_info self.max_bot_version = red_version_info self.min_python_version = (3, 5, 1) @@ -171,12 +170,6 @@ class Installable(RepoJSONMixin): else: self._info = info - try: - author = tuple(info.get("author", [])) - except ValueError: - author = () - self.author = author - try: min_bot_version = VersionInfo.from_str(str(info.get("min_bot_version", __version__))) except ValueError: diff --git a/redbot/cogs/downloader/json_mixins.py b/redbot/cogs/downloader/json_mixins.py index 6c8a18282..3e5b9fdc7 100644 --- a/redbot/cogs/downloader/json_mixins.py +++ b/redbot/cogs/downloader/json_mixins.py @@ -9,7 +9,7 @@ class RepoJSONMixin: def __init__(self, repo_folder: Path): self._repo_folder = repo_folder - self.author: Optional[Tuple[str, ...]] = None + self.author: Tuple[str, ...] = () self.install_msg: Optional[str] = None self.short: Optional[str] = None self.description: Optional[str] = None @@ -32,7 +32,12 @@ class RepoJSONMixin: else: self._info = info - self.author = info.get("author") + try: + author = tuple(info.get("author", [])) + except ValueError: + author = () + self.author = author + self.install_msg = info.get("install_msg") self.short = info.get("short") self.description = info.get("description")