Compare commits

..

10 Commits
beta ... main

2 changed files with 35 additions and 0 deletions

View File

@ -1,8 +1,10 @@
import json import json
class BanID(): class BanID():
#Функция инициализации
def __init__(self, filename): def __init__(self, filename):
self.filename=filename self.filename=filename
#Функция регистрации ID
def regID(self, username): def regID(self, username):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -11,6 +13,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Локальная блокировка
def ban(self, username, nameban): def ban(self, username, nameban):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -19,6 +22,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Глобальная блокировка
def gban(self, username): def gban(self, username):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -27,6 +31,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Понижение репутации
def unrep(self, username, amount): def unrep(self, username, amount):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -35,6 +40,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Повышение репутации
def rep(self, username, amount): def rep(self, username, amount):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -43,6 +49,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Снятие глобальной блокировки
def ungban(self, username): def ungban(self, username):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -51,6 +58,7 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Снятие локальной блокировки
def unban(self, username, nameban): def unban(self, username, nameban):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
@ -59,13 +67,21 @@ class BanID():
filetemp=open(self.filename, 'w') filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db)) filetemp.write(json.dumps(db))
filetemp.close() filetemp.close()
#Проверка наличия локальной блокировки
def checkban(self, username, nameban): def checkban(self, username, nameban):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
filetemp.close() filetemp.close()
return db[username]['bans'].count(nameban)>=0 return db[username]['bans'].count(nameban)>=0
#Проверка наличия глобальной блокировки
def checkgban(self, username): def checkgban(self, username):
filetemp=open(self.filename, 'r') filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read()) db=json.loads(filetemp.read())
filetemp.close() filetemp.close()
return db[username]['globalban'] return db[username]['globalban']
#кол-во репутации
def viewrep(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
return db[username]['rep']

View File

@ -1,3 +1,22 @@
# BanID # BanID
Данный проект представляет собой систему учёта локальных и глобальных блокировок, а также репутации. Данный проект представляет собой систему учёта локальных и глобальных блокировок, а также репутации.
# Особенности:
- Наличие системы репутации.
- Без серверной части.
- Локальные и глобальные блокировки.
- База данных:JSON
# Список функций:
## `BanID(filename)`
- Основной класс.
- Аргументы: `filename`(`str`)-имя файла
- Вывод: класс `BanID`.
### Функции класса:
#### `regID(username)`
- Регистрация нового ID в базе.
- Аргументы: `username`(`str`)-уникальный ID.
- Вывод: отсутствует.