diff options
| author | Devon R <[email protected]> | 2019-11-14 21:37:23 +0000 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2019-11-15 04:25:38 -0500 |
| commit | f5ebf42e1f2c4e9d3ffe1a9edd59a659ff483c53 (patch) | |
| tree | b0df1fc8f2e5780048add68ea03905f66cf58327 /discord/asset.py | |
| parent | Add view_guild_insights permission (diff) | |
| download | discord.py-f5ebf42e1f2c4e9d3ffe1a9edd59a659ff483c53.tar.xz discord.py-f5ebf42e1f2c4e9d3ffe1a9edd59a659ff483c53.zip | |
Return invites as https, various URL normalization
Diffstat (limited to 'discord/asset.py')
| -rw-r--r-- | discord/asset.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/discord/asset.py b/discord/asset.py index 1e1c8a58..0f612c1b 100644 --- a/discord/asset.py +++ b/discord/asset.py @@ -63,6 +63,8 @@ class Asset: """ __slots__ = ('_state', '_url') + BASE = 'https://cdn.discordapp.com/' + def __init__(self, state, url=None): self._state = state self._url = url @@ -84,14 +86,14 @@ class Asset: if format is None: format = 'gif' if user.is_avatar_animated() else static_format - return cls(state, 'https://cdn.discordapp.com/avatars/{0.id}/{0.avatar}.{1}?size={2}'.format(user, format, size)) + return cls(state, 'avatars/{0.id}/{0.avatar}.{1}?size={2}'.format(user, format, size)) @classmethod def _from_icon(cls, state, object, path): if object.icon is None: return cls(state) - url = 'https://cdn.discordapp.com/{0}-icons/{1.id}/{1.icon}.jpg'.format(path, object) + url = '{0}-icons/{1.id}/{1.icon}.jpg'.format(path, object) return cls(state, url) @classmethod @@ -99,7 +101,7 @@ class Asset: if obj.cover_image is None: return cls(state) - url = 'https://cdn.discordapp.com/app-assets/{0.id}/store/{0.cover_image}.jpg'.format(obj) + url = 'app-assets/{0.id}/store/{0.cover_image}.jpg'.format(obj) return cls(state, url) @classmethod @@ -112,7 +114,7 @@ class Asset: if hash is None: return cls(state) - url = 'https://cdn.discordapp.com/{key}/{0}/{1}.{2}?size={3}' + url = '{key}/{0}/{1}.{2}?size={3}' return cls(state, url.format(id, hash, format, size, key=key)) @classmethod @@ -132,15 +134,15 @@ class Asset: if format is None: format = 'gif' if guild.is_icon_animated() else static_format - return cls(state, 'https://cdn.discordapp.com/icons/{0.id}/{0.icon}.{1}?size={2}'.format(guild, format, size)) + return cls(state, 'icons/{0.id}/{0.icon}.{1}?size={2}'.format(guild, format, size)) def __str__(self): - return self._url if self._url is not None else '' + return self.BASE + self._url if self._url is not None else '' def __len__(self): if self._url: - return len(self._url) + return len(self.BASE + self._url) return 0 def __bool__(self): @@ -198,7 +200,7 @@ class Asset: if self._state is None: raise DiscordException('Invalid state (no ConnectionState provided)') - return await self._state.http.get_from_cdn(self._url) + return await self._state.http.get_from_cdn(self.BASE + self._url) async def save(self, fp, *, seek_begin=True): """|coro| |