storage: do unavailable guild object rewrite earlier on

prevent unecessary db calls as soon as the guild is determined to be
unavailable
This commit is contained in:
Luna 2019-04-21 23:08:45 -03:00
parent ea9b06182d
commit a2e55d80e8
1 changed files with 12 additions and 11 deletions

View File

@ -180,6 +180,18 @@ class Storage:
drow = dict(row) drow = dict(row)
# a guild's unavailable state is kept in memory, and we remove every
# other guild related field when its unavailable.
drow['unavailable'] = self.app.guild_store.get(
guild_id, 'unavailable', False)
if drow['unavailable']:
drow = {
'id': drow['id'],
'unavailable': True
}
# guild.owner is dependant of the user doing the get_guild call.
if user_id: if user_id:
drow['owner'] = drow['owner_id'] == str(user_id) drow['owner'] = drow['owner_id'] == str(user_id)
@ -192,17 +204,6 @@ class Storage:
drow['max_presences'] = 1000 drow['max_presences'] = 1000
drow['max_members'] = 1000 drow['max_members'] = 1000
# a guild's unavailable state is kept in memory, and we remove every
# other guild related field when its unavailable.
drow['unavailable'] = self.app.guild_store.get(
guild_id, 'unavailable', False)
if drow['unavailable']:
drow = {
'id': drow['id'],
'unavailable': True
}
return drow return drow
async def _member_basic(self, guild_id: int, member_id: int): async def _member_basic(self, guild_id: int, member_id: int):