Code Duplication    Length = 25-26 lines in 2 locations

pincer/middleware/channel.py 2 locations

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