Code Duplication    Length = 25-26 lines in 2 locations

pincer/middleware/channel.py 2 locations

@@ 39-63 (lines=25) @@
36
    ]
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):
@@ 85-110 (lines=26) @@
82
    return "on_channel_pins_update", [ChannelPinsUpdateEvent.from_dict(payload.data)]
83
84
85
async def channel_update_middleware(self, payload: GatewayDispatch):
86
    """|coro|
87
88
    Middleware for ``on_channel_update`` event.
89
90
    Parameters
91
    ----------
92
    payload : :class:`GatewayDispatch`
93
        The data received from the channel update event.
94
95
    Returns
96
    -------
97
    Tuple[:class:`str`, List[:class:`~pincer.objects.channel.channel.Channel`]]
98
        ``on_channel_update`` and a ``Channel``
99
    """
100
101
    channel = Channel.from_dict(construct_client_dict(self, payload.data))
102
103
    if channel.guild_id in self.guilds.keys():
104
        guild = self.guilds[channel.guild_id]
105
        old = filter(lambda c: c.id == channel.id, guild.channels)
106
        if old:
107
            guild.channels.remove(old)
108
        guild.channels.append(channel)
109
110
    return "on_channel_update", [channel]
111
112
113
def export():