Skip to content

Commit

Permalink
Merge pull request #179 from Studio-Yandex-Practicum/feature/add_DI_i…
Browse files Browse the repository at this point in the history
…n_bot

Feature/add di in bot
  • Loading branch information
NiKuma0 authored Aug 25, 2023
2 parents 2462492 + ba1e6ed commit 28a3c9c
Show file tree
Hide file tree
Showing 13 changed files with 235 additions and 105 deletions.
101 changes: 100 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ asgi-correlation-id = "^4.2.0"
rich = "^13.3.5"
fastapi-mail = "^1.4.0"
werkzeug = "^2.3.6"
dependency-injector = "^4.41.0"


[tool.poetry.group.dev.dependencies]
Expand All @@ -57,6 +58,7 @@ pyngrok = "^6.0.0"
python-dotenv = "^1.0.0"
pre-commit = "^3.3.2"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ structlog==23.1.0 ; python_version >= "3.11" and python_version < "4.0"
typing-extensions==4.7.1 ; python_version >= "3.11" and python_version < "4.0"
uvicorn==0.21.1 ; python_version >= "3.11" and python_version < "4.0"
werkzeug==2.3.6 ; python_version >= "3.11" and python_version < "4.0"
dependency-injector==4.41.0 ; python_version >= "3.11" and python_version < "4.0"
4 changes: 2 additions & 2 deletions src/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from .application import create_app
from src.main import main

app = create_app
app = main
34 changes: 34 additions & 0 deletions src/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from asgi_correlation_id import CorrelationIdMiddleware
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles

from src.api.router import api_router
from src.core.logging.middleware import LoggingMiddleware
from src.core.logging.setup import setup_logging
from src.settings import settings


def init_app(fastpi_app: FastAPI) -> FastAPI:
"""Инициализация приложения FastAPI."""
origins = ["*"]
fastpi_app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)

setup_logging()
fastpi_app.add_middleware(LoggingMiddleware)
fastpi_app.add_middleware(CorrelationIdMiddleware)

fastpi_app.include_router(api_router)
if settings.DEBUG:
fastpi_app.mount(
"/static",
StaticFiles(directory=settings.STATIC_DIR, html=True),
name="static",
)
return fastpi_app
54 changes: 0 additions & 54 deletions src/application.py

This file was deleted.

17 changes: 17 additions & 0 deletions src/bot/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
from telegram import Update
from telegram.ext import Application, TypeHandler

from src.bot.handlers import categories, feedback_form, menu, registration, tasks
from src.core.logging.utils import logging_updates

from .bot import create_bot, start_bot

__all__ = (
"start_bot",
"create_bot",
)


def init_bot(telegram_bot: Application) -> Application:
"""Инициализация телеграм бота."""
registration.registration_handlers(telegram_bot)
categories.registration_handlers(telegram_bot)
tasks.registration_handlers(telegram_bot)
menu.registration_handlers(telegram_bot)
feedback_form.registration_handlers(telegram_bot)
telegram_bot.add_handler(TypeHandler(Update, logging_updates))
return telegram_bot
Loading

0 comments on commit 28a3c9c

Please sign in to comment.