mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 20:28:38 +00:00
Fix sorting for channels.
This commit is contained in:
parent
3e00e7fe8a
commit
95c28f08e4
@ -283,7 +283,7 @@ class Guild(Hashable):
|
|||||||
This is sorted by the position and are in UI order from top to bottom.
|
This is sorted by the position and are in UI order from top to bottom.
|
||||||
"""
|
"""
|
||||||
r = [ch for ch in self._channels.values() if isinstance(ch, VoiceChannel)]
|
r = [ch for ch in self._channels.values() if isinstance(ch, VoiceChannel)]
|
||||||
r.sort(key=lambda c: c.position)
|
r.sort(key=lambda c: (c.position, c.id))
|
||||||
return r
|
return r
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -306,7 +306,7 @@ class Guild(Hashable):
|
|||||||
This is sorted by the position and are in UI order from top to bottom.
|
This is sorted by the position and are in UI order from top to bottom.
|
||||||
"""
|
"""
|
||||||
r = [ch for ch in self._channels.values() if isinstance(ch, TextChannel)]
|
r = [ch for ch in self._channels.values() if isinstance(ch, TextChannel)]
|
||||||
r.sort(key=lambda c: c.position)
|
r.sort(key=lambda c: (c.position, c.id))
|
||||||
return r
|
return r
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -316,7 +316,7 @@ class Guild(Hashable):
|
|||||||
This is sorted by the position and are in UI order from top to bottom.
|
This is sorted by the position and are in UI order from top to bottom.
|
||||||
"""
|
"""
|
||||||
r = [ch for ch in self._channels.values() if isinstance(ch, CategoryChannel)]
|
r = [ch for ch in self._channels.values() if isinstance(ch, CategoryChannel)]
|
||||||
r.sort(key=lambda c: c.position)
|
r.sort(key=lambda c: (c.position, c.id))
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def by_category(self):
|
def by_category(self):
|
||||||
@ -341,13 +341,13 @@ class Guild(Hashable):
|
|||||||
|
|
||||||
def key(t):
|
def key(t):
|
||||||
k, v = t
|
k, v = t
|
||||||
return (k.position if k else -1, v)
|
return ((k.position, k.id) if k else (-1, -1), v)
|
||||||
|
|
||||||
_get = self._channels.get
|
_get = self._channels.get
|
||||||
as_list = [(_get(k), v) for k, v in grouped.items()]
|
as_list = [(_get(k), v) for k, v in grouped.items()]
|
||||||
as_list.sort(key=key)
|
as_list.sort(key=key)
|
||||||
for _, channels in as_list:
|
for _, channels in as_list:
|
||||||
channels.sort(key=lambda c: c.position)
|
channels.sort(key=lambda c: (c.position, c.id))
|
||||||
return as_list
|
return as_list
|
||||||
|
|
||||||
def get_channel(self, channel_id):
|
def get_channel(self, channel_id):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user