From aa1a7a289a2f297fef5f39e10b08a69df59e599e Mon Sep 17 00:00:00 2001 From: felinae98 <731499577@qq.com> Date: Tue, 30 Nov 2021 12:26:11 +0800 Subject: [PATCH] auto delete --- src/plugins/nonebot_bison/config.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/nonebot_bison/config.py b/src/plugins/nonebot_bison/config.py index 3afa955..72fb3b9 100644 --- a/src/plugins/nonebot_bison/config.py +++ b/src/plugins/nonebot_bison/config.py @@ -4,6 +4,7 @@ import os from typing import DefaultDict, Mapping import nonebot +from nonebot import logger from tinydb import Query, TinyDB from .platform import platform_manager @@ -110,9 +111,11 @@ class Config(metaclass=Singleton): cat_res = {target_type: defaultdict(lambda: defaultdict(list)) for target_type in supported_target_type} tag_res = {target_type: defaultdict(lambda: defaultdict(list)) for target_type in supported_target_type} # res = {target_type: defaultdict(lambda: defaultdict(list)) for target_type in supported_target_type} + to_del = [] for user in self.user_target.all(): for sub in user.get('subs', []): if not sub.get('target_type') in supported_target_type: + to_del.append({'user': user['user'], 'user_type': user['user_type'], 'target': sub['target'], 'target_type': sub['target_type']}) continue res[sub['target_type']][sub['target']].append(User(user['user'], user['user_type'])) cat_res[sub['target_type']][sub['target']]['{}-{}'.format(user['user_type'], user['user'])] = sub['cats'] @@ -122,6 +125,10 @@ class Config(metaclass=Singleton): self.target_user_tag_cache = tag_res for target_type in self.target_user_cache: self.target_list[target_type] = list(self.target_user_cache[target_type].keys()) + + logger.info(f'Deleting {to_del}') + for d in to_del: + self.del_subscribe(**d) def get_sub_category(self, target_type, target, user_type, user): return self.target_user_cat_cache[target_type][target]['{}-{}'.format(user_type, user)]