Code Duplication    Length = 25-26 lines in 2 locations

pincer/middleware/channel.py 2 locations

@@ 86-111 (lines=26) @@
83
        ChannelPinsUpdateEvent.from_dict(payload.data)
84
    ]
85
86
async def channel_update_middleware(self, payload: GatewayDispatch):
87
    """|coro|
88
89
    Middleware for ``on_channel_update`` event.
90
91
    Parameters
92
    ----------
93
    payload : :class:`GatewayDispatch`
94
        The data received from the channel update event.
95
96
    Returns
97
    -------
98
    Tuple[:class:`str`, List[:class:`~pincer.objects.channel.channel.Channel`]]
99
        ``on_channel_update`` and a ``Channel``
100
    """
101
102
    channel = Channel.from_dict(construct_client_dict(self, payload.data))
103
104
    if channel.guild_id in self.guilds.keys():
105
        guild = self.guilds[channel.guild_id]
106
        old = filter(lambda c: c.id == channel.id, guild.channels)
107
        if old:
108
            guild.channels.remove(old)
109
        guild.channels.append(channel)
110
111
    return "on_channel_update", [channel]
112
113
114
def export():
@@ 39-63 (lines=25) @@
36
        Channel.from_dict(construct_client_dict(self, payload.data))
37
    ]
38
39
async def channel_delete_middleware(self, payload: GatewayDispatch):
40
    """|coro|
41
42
    Middleware for ``on_channel_delete``,
43
44
    Parameters
45
    ----------
46
    payload : :class:`pincer.core.dispatch.GatewayDispatch`
47
        The data received from the channel delete event.
48
49
    Returns
50
    -------
51
    Tuple[:class:`str`, List[:class:`~pincer.objects.guild.channel.Channel`]]
52
        ``on_channel_delete`` and a ``Channel``
53
    """
54
55
    channel = Channel.from_dict(construct_client_dict(self, payload.data))
56
57
    if channel.guild_id in self.guilds:
58
        guild = self.guilds[channel.guild_id]
59
        old = filter(lambda c: c.id == channel.id, guild.channels)
60
        if old:
61
            guild.channels.remove(old)
62
63
    return "on_channel_delete", [channel]
64
65
66
async def channel_pins_update_middleware(self, payload: GatewayDispatch):