diff --git a/main.py b/main.py index 4696ea8..c8cd075 100644 --- a/main.py +++ b/main.py @@ -7,12 +7,7 @@ from os.path import dirname, join import aioschedule as schedule import dotenv from aiogram import Bot, Dispatcher, F, types -from aiogram.filters import Command, CommandStart -from aiogram.fsm.context import FSMContext -from aiogram.fsm.state import State, StatesGroup -from aiogram.utils.keyboard import InlineKeyboardBuilder - -from handlers.admin_commands import Admin_commands +from aiogram.filters import CommandStart dotenv.load_dotenv() @@ -35,7 +30,6 @@ for filename in os.listdir(handlers_dir): async def main() -> None: - # dp.include_router(Admin_commands(bot)()) await dp.start_polling(bot, skip_updates=True) if __name__ == '__main__': diff --git a/neuroapi/__init__.py b/neuroapi/__init__.py index 9cf92ac..df4285b 100644 --- a/neuroapi/__init__.py +++ b/neuroapi/__init__.py @@ -1,17 +1 @@ -from .post import Post -from .admin import Admin -from .user import User -from .image import Image -from dotenv import load_dotenv -import os -from os.path import join, dirname - - -load_dotenv(join(dirname(__file__), "..", '.env')) - - -class neuroapi: - post = Post(os.environ.get('API_URL')) - admin = Admin(os.environ.get('API_URL')) - user = User(os.environ.get('API_URL')) - image = Image(os.environ.get('API_URL')) +from ._neuroapi import neuroapi diff --git a/neuroapi/admin.py b/neuroapi/_methods/admin.py similarity index 100% rename from neuroapi/admin.py rename to neuroapi/_methods/admin.py diff --git a/neuroapi/_methods/api_method.py b/neuroapi/_methods/api_method.py new file mode 100644 index 0000000..af239e4 --- /dev/null +++ b/neuroapi/_methods/api_method.py @@ -0,0 +1,8 @@ +from ..config import Config + + +class ApiMethod: + api_url: str + + def __init__(self) -> None: + self.api_url = Config().api_url diff --git a/neuroapi/enums/__init__.py b/neuroapi/_methods/enums/__init__.py similarity index 100% rename from neuroapi/enums/__init__.py rename to neuroapi/_methods/enums/__init__.py diff --git a/neuroapi/enums/get_all.py b/neuroapi/_methods/enums/get_all.py similarity index 100% rename from neuroapi/enums/get_all.py rename to neuroapi/_methods/enums/get_all.py diff --git a/neuroapi/image.py b/neuroapi/_methods/image.py similarity index 100% rename from neuroapi/image.py rename to neuroapi/_methods/image.py diff --git a/neuroapi/post.py b/neuroapi/_methods/post.py similarity index 100% rename from neuroapi/post.py rename to neuroapi/_methods/post.py diff --git a/neuroapi/user.py b/neuroapi/_methods/user.py similarity index 99% rename from neuroapi/user.py rename to neuroapi/_methods/user.py index faf4246..8cb55e9 100644 --- a/neuroapi/user.py +++ b/neuroapi/_methods/user.py @@ -1,4 +1,5 @@ from aiohttp import ClientSession + from .api_method import ApiMethod diff --git a/neuroapi/_neuroapi.py b/neuroapi/_neuroapi.py new file mode 100644 index 0000000..6949754 --- /dev/null +++ b/neuroapi/_neuroapi.py @@ -0,0 +1,11 @@ +from ._methods.admin import Admin +from ._methods.image import Image +from ._methods.post import Post +from ._methods.user import User + + +class neuroapi: + post = Post() + admin = Admin() + user = User() + image = Image() diff --git a/neuroapi/api_method.py b/neuroapi/api_method.py deleted file mode 100644 index 48bad77..0000000 --- a/neuroapi/api_method.py +++ /dev/null @@ -1,5 +0,0 @@ -class ApiMethod: - api_url: str - - def __init__(self, api_url: str) -> None: - self.api_url = api_url diff --git a/neuroapi/config.py b/neuroapi/config.py new file mode 100644 index 0000000..6beabeb --- /dev/null +++ b/neuroapi/config.py @@ -0,0 +1,19 @@ +import os +from typing import Self + +from dotenv import load_dotenv + + +class _Singleton: + _instances = {} + + def __new__(cls) -> Self: + if cls not in cls._instances: + cls._instances[cls] = super(_Singleton, cls).__new__(cls) + return cls._instances[cls] + +class Config(_Singleton): + api_url: str + def __init__(self): + load_dotenv(os.path.join(os.path.dirname(__file__), '..', '.env')) + self.api_url = os.environ.get('API_URL') \ No newline at end of file