| | |
| | | """ |
| | | 黑名单板块管理 |
| | | """ |
| | | import json |
| | | |
| | | from db import redis_manager_delegate as redis_manager |
| | | from db.redis_manager_delegate import RedisUtils |
| | | from utils import tool |
| | |
| | | @tool.singleton |
| | | class ForbiddenPlatesManager: |
| | | def __init__(self): |
| | | self.forbidden_plates = set() |
| | | self.forbidden_plates = [] |
| | | self.__db = 1 |
| | | self.__redisManager = redis_manager.RedisManager(self.__db) |
| | | self.__load_forbidden_plates() |
| | | |
| | | def __load_forbidden_plates(self): |
| | | plates = RedisUtils.smembers(self.__redisManager.getRedis(), "forbidden_plates") |
| | | plates = RedisUtils.get(self.__redisManager.getRedis(), "forbidden_plate_list") |
| | | if plates: |
| | | self.forbidden_plates = set(plates) |
| | | self.forbidden_plates = json.loads(plates) |
| | | |
| | | def add_plate(self, plate): |
| | | """ |
| | |
| | | """ |
| | | if plate in self.forbidden_plates: |
| | | return |
| | | self.forbidden_plates.add(plate) |
| | | RedisUtils.sadd_async(self.__db, "forbidden_plates", plate) |
| | | RedisUtils.expire_async(self.__db, "forbidden_plates", tool.get_expire()) |
| | | self.forbidden_plates.append(plate) |
| | | RedisUtils.setex_async(self.__db, "forbidden_plate_list",tool.get_expire(), json.dumps( self.forbidden_plates)) |
| | | |
| | | def remove_plate(self, plate): |
| | | """ |
| | |
| | | if plate not in self.forbidden_plates: |
| | | return |
| | | self.forbidden_plates.remove(plate) |
| | | RedisUtils.srem_async(self.__db, "forbidden_plates", plate) |
| | | RedisUtils.expire_async(self.__db, "forbidden_plates", tool.get_expire()) |
| | | RedisUtils.setex_async(self.__db, "forbidden_plate_list", tool.get_expire(), json.dumps(self.forbidden_plates)) |
| | | |
| | | def list_plates(self): |
| | | """ |