132 lines
4.0 KiB
Python
132 lines
4.0 KiB
Python
from pymongo import MongoClient
|
|
|
|
|
|
class UseDB:
|
|
"""
|
|
Класс для работы с базой данных
|
|
"""
|
|
|
|
def __init__(self, collection_name):
|
|
self.series_collection = None
|
|
self.client = MongoClient('194.61.1.147', 52530)
|
|
self.db = self.client['toads']
|
|
self.series_collection = self.db[collection_name]
|
|
|
|
def find_document(self, elements: dict) -> list:
|
|
"""
|
|
Функция поиска элемента в базе данных
|
|
|
|
:param elements: dict - элемент, который надо искать
|
|
|
|
:return: list - сам элемент
|
|
"""
|
|
return [x for x in self.series_collection.find(elements)]
|
|
|
|
def insert_document(self, data: dict) -> list:
|
|
"""
|
|
Функция добавления элемента в базу данных
|
|
|
|
:param data: dict - элемент, который надо добавить
|
|
|
|
:return: list - созданный элемент
|
|
"""
|
|
return self.series_collection.insert_one(data).inserted_id
|
|
|
|
def update_document(self, query_elements: dict, new_values: dict) -> None:
|
|
"""
|
|
Функция обновления элемента в базе данных
|
|
|
|
:param query_elements: dict - элемент, который надо обновить
|
|
|
|
:param new_values: dict - элемент, этот самый элемент
|
|
|
|
:return: None
|
|
"""
|
|
self.series_collection.update_one(query_elements, {'$set': new_values})
|
|
|
|
def del_document(self, query_elements: dict) -> None:
|
|
"""
|
|
Функция удаления элемента в базу данных
|
|
|
|
:param query_elements: dict - элемент, который надо удалить
|
|
|
|
:return: None
|
|
"""
|
|
self.series_collection.delete_one(query_elements)
|
|
|
|
def create_new_game(self):
|
|
import datetime
|
|
data_now = datetime.datetime.now()
|
|
new_format_data = data_now.strftime("%d.%m.%Y")
|
|
self.series_collection.drop()
|
|
self.series_collection.insert_one({
|
|
"day": 0,
|
|
"frogs": [
|
|
{
|
|
"name": "Квакуша",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Квакша",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Квак",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Ква",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Кваква",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Джабба-хатт",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Квендальф",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Лягуша",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Жаба",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Абажаю",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Пучеглазый",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
},
|
|
{
|
|
"name": "Вафля",
|
|
"hp": 100,
|
|
"hunger": 0
|
|
}
|
|
],
|
|
"money": 0,
|
|
"save": {
|
|
"name": "start",
|
|
"data": new_format_data
|
|
}
|
|
})
|