From 5d2f234f70a86abddf983dc98263f4fdb83d565e Mon Sep 17 00:00:00 2001 From: MRK-YT <81806065+MRK-YT@users.noreply.github.com> Date: Fri, 11 Jun 2021 14:01:41 +0530 Subject: [PATCH] Update... --- bot/database/database.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bot/database/database.py b/bot/database/database.py index 356997d8c..4e9701548 100644 --- a/bot/database/database.py +++ b/bot/database/database.py @@ -1,14 +1,21 @@ -import os import motor.motor_asyncio # pylint: disable=import-error from bot import DB_URI -DB_NAME = os.environ.get("DB_NAME", "Adv_Auto_Filter") +class Singleton(type): + __instances__ = {} -class Database: + def __call__(cls, *args, **kwargs): + if cls not in cls.__instances__: + cls.__instances__[cls] = super(Singleton, cls).__call__(*args, **kwargs) + + return cls.__instances__[cls] + + +class Database(metaclass=Singleton): def __init__(self): self._client = motor.motor_asyncio.AsyncIOMotorClient(DB_URI) - self.db = self._client[DB_NAME] + self.db = self._client["Adv_Auto_Filter"] self.col = self.db["Main"] self.acol = self.db["Active_Chats"] self.fcol = self.db["Filter_Collection"] @@ -495,3 +502,4 @@ async def tf_count(self, group_id: int): """ return await self.fcol.count_documents({"group_id": group_id}) +