import json class BanID(): #Функция инициализации def __init__(self, filename): self.filename=filename #Функция регистрации ID def regID(self, username): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]={'bans':[], 'globalban':False, 'rep':0xff} filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Локальная блокировка def ban(self, username, nameban): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['bans'].append(nameban) filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Глобальная блокировка def gban(self, username): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['globalban']=True filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Понижение репутации def unrep(self, username, amount): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['rep']=db[username]['rep']-amount filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Повышение репутации def rep(self, username, amount): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['rep']=db[username]['rep']+amount filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Снятие глобальной блокировки def ungban(self, username): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['globalban']=False filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Снятие локальной блокировки def unban(self, username, nameban): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() db[username]['bans'].remove(nameban) filetemp=open(self.filename, 'w') filetemp.write(json.dumps(db)) filetemp.close() #Проверка наличия локальной блокировки def checkban(self, username, nameban): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() return db[username]['bans'].count(nameban)>=0 #Проверка наличия глобальной блокировки def checkgban(self, username): filetemp=open(self.filename, 'r') db=json.loads(filetemp.read()) filetemp.close() return db[username]['globalban']