diff options
| author | Rapptz <[email protected]> | 2015-12-16 22:03:16 -0500 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2015-12-16 22:03:16 -0500 |
| commit | de1c74a399a5286cd707c6ebc3892e168d628ac0 (patch) | |
| tree | 5345ed742be917325f0612cdf52e5bc03d9018b6 /discord/server.py | |
| parent | Channel.is_default_channel is now a property named is_default. (diff) | |
| download | discord.py-de1c74a399a5286cd707c6ebc3892e168d628ac0.tar.xz discord.py-de1c74a399a5286cd707c6ebc3892e168d628ac0.zip | |
Make more things into properties.
A lot of the expensive getters were transformed into cached properties
instead. A lot of things that were properties were transformed into
properties as well.
Diffstat (limited to 'discord/server.py')
| -rw-r--r-- | discord/server.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/discord/server.py b/discord/server.py index bc0a7ba8..e1093b00 100644 --- a/discord/server.py +++ b/discord/server.py @@ -108,12 +108,11 @@ class Server(EqualityComparable): self.unavailable = guild.get('unavailable', False) self.id = guild['id'] self.roles = [Role(everyone=(self.id == r['id']), **r) for r in guild['roles']] - default_role = self.get_default_role() owner_id = guild['owner_id'] for data in guild.get('members', []): - roles = [default_role] + roles = [self.default_role] for role_id in data['roles']: role = utils.find(lambda r: r.id == role_id, self.roles) if role is not None: @@ -149,13 +148,15 @@ class Server(EqualityComparable): for obj in guild.get('voice_states', []): self._update_voice_state(obj) - def get_default_role(self): + @utils.cached_property + def default_role(self): """Gets the @everyone role that all members have by default.""" - return utils.find(lambda r: r.is_everyone(), self.roles) + return utils.find(lambda r: r.is_everyone, self.roles) - def get_default_channel(self): + @utils.cached_property + def default_channel(self): """Gets the default :class:`Channel` for the server.""" - return utils.find(lambda c: c.is_default_channel(), self.channels) + return utils.find(lambda c: c.is_default, self.channels) @property def icon_url(self): |