aboutsummaryrefslogtreecommitdiff
path: root/discord/server.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-12-16 22:03:16 -0500
committerRapptz <[email protected]>2015-12-16 22:03:16 -0500
commitde1c74a399a5286cd707c6ebc3892e168d628ac0 (patch)
tree5345ed742be917325f0612cdf52e5bc03d9018b6 /discord/server.py
parentChannel.is_default_channel is now a property named is_default. (diff)
downloaddiscord.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.py13
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):