From 4b62598a3d56185ef0fe5119e58d2d5611f6e432 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 19 Nov 2019 19:14:22 +0100 Subject: [PATCH] [Downloader] Make `Repo.clean_url` work with relative urls. (#3142) * fix(downloader): return string, catch ValueError for relative urls * chore(changelog): add towncrier entry --- changelog.d/downloader/3141.bugfix.rst | 1 + redbot/cogs/downloader/repo_manager.py | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changelog.d/downloader/3141.bugfix.rst diff --git a/changelog.d/downloader/3141.bugfix.rst b/changelog.d/downloader/3141.bugfix.rst new file mode 100644 index 000000000..c329da021 --- /dev/null +++ b/changelog.d/downloader/3141.bugfix.rst @@ -0,0 +1 @@ +Make :attr:`redbot.cogs.downloader.repo_manager.Repo.clean_url` work with relative urls. This property uses `str` type now. \ No newline at end of file diff --git a/redbot/cogs/downloader/repo_manager.py b/redbot/cogs/downloader/repo_manager.py index 276e59114..255ca8d67 100644 --- a/redbot/cogs/downloader/repo_manager.py +++ b/redbot/cogs/downloader/repo_manager.py @@ -149,11 +149,13 @@ class Repo(RepoJSONMixin): self._loop = loop if loop is not None else asyncio.get_event_loop() @property - def clean_url(self): + def clean_url(self) -> str: """Sanitized repo URL (with removed HTTP Basic Auth)""" url = yarl.URL(self.url) - clean_url = url.with_user(None) - return clean_url + try: + return url.with_user(None).human_repr() + except ValueError: + return self.url @classmethod async def convert(cls, ctx: commands.Context, argument: str) -> Repo: