Skip to content

Commit b0a0292

Browse files
authored
Merge pull request CloudBotIRC#92 from linuxdaemon/gonzobot+chan-track-data-mem-check
Check type of data objects in conn.memory on connect and on load in chan_track.py
2 parents 1b48782 + 6de1b94 commit b0a0292

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

plugins/chan_track.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,24 @@ def do_caps():
9090
def get_chan_data(bot):
9191
for conn in bot.connections.values():
9292
if conn.connected:
93+
init_chan_data(conn, False)
9394
update_conn_data(conn)
9495

9596

9697
@hook.connect
97-
def init_chan_data(conn):
98+
def init_chan_data(conn, _clear=True):
9899
chan_data = conn.memory.setdefault("chan_data", ChanDict())
99-
chan_data.clear()
100-
101100
users = conn.memory.setdefault("users", UsersDict())
102-
users.clear()
101+
102+
if not (isinstance(chan_data, ChanDict) and isinstance(users, UsersDict)):
103+
del conn.memory["chan_data"]
104+
del conn.memory["users"]
105+
106+
return init_chan_data(conn, _clear)
107+
108+
if _clear:
109+
chan_data.clear()
110+
users.clear()
103111

104112

105113
def add_user_membership(user, chan, membership):

0 commit comments

Comments
 (0)