2 Commits

6 changed files with 80 additions and 3 deletions
+6 -1
View File
@@ -1,3 +1,5 @@
import os
from pymongo import MongoClient
@@ -8,7 +10,10 @@ class UseDB:
def __init__(self, collection_name):
self.series_collection = None
self.client = MongoClient('mongodb', 27017)
if os.getenv('ENV') == 'production':
self.client = MongoClient('mongodb', 27017)
else:
self.client = MongoClient('localhost', 27017)
self.db = self.client['aero']
self.series_collection = self.db[collection_name]
+3
View File
@@ -18,6 +18,9 @@ db_timetable - это удобное решение для студентов и
- pymongo
# Для запуска проекта необходимо выполнить следующие шаги:
Основное:
- создайте .env файл
- напишите в нём TOKEN=токен телеграм бота
Для продакшн версии:
```bash
+1
View File
@@ -11,6 +11,7 @@ services:
- poetry run python /aero/main.py
environment:
- TZ=Asia/Krasnoyarsk
- ENV=production
mongodb:
image: mongo
restart: always
+4 -1
View File
@@ -6,13 +6,16 @@ from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from aiogram.filters import Command
from aiogram.types import Message
import environs
from DB import UseDB
from additional_functions import (on_notification, set_group, timetable_for_day,
timetable_day)
from use_database import detect_group_to_update
TOKEN = "7171391557:AAGickIyKK-kCAWUO4V_5X3m1_6F4Cmgmdw"
env = environs.Env()
env.read_env()
TOKEN = env.str('TOKEN')
dp = Dispatcher()
Generated
+65 -1
View File
@@ -345,6 +345,26 @@ idna = ["idna (>=3.6)"]
trio = ["trio (>=0.23)"]
wmi = ["wmi (>=1.5.1)"]
[[package]]
name = "environs"
version = "11.0.0"
description = "simplified environment variable parsing"
optional = false
python-versions = ">=3.8"
files = [
{file = "environs-11.0.0-py3-none-any.whl", hash = "sha256:e0bcfd41c718c07a7db422f9109e490746450da38793fe4ee197f397b9343435"},
{file = "environs-11.0.0.tar.gz", hash = "sha256:069727a8f73d8ba8d033d3cd95c0da231d44f38f1da773bf076cef168d312ee8"},
]
[package.dependencies]
marshmallow = ">=3.13.0"
python-dotenv = "*"
[package.extras]
dev = ["environs[tests]", "pre-commit (>=3.5,<4.0)", "tox"]
django = ["dj-database-url", "dj-email-url", "django-cache-url"]
tests = ["environs[django]", "pytest"]
[[package]]
name = "frozenlist"
version = "1.4.1"
@@ -456,6 +476,25 @@ files = [
[package.extras]
dev = ["black (>=22.8.0,<22.9.0)", "flake8 (>=5.0.4,<5.1.0)", "isort (>=5.11.5,<5.12.0)", "mypy (>=1.4.1,<1.5.0)", "pre-commit (>=2.20.0,<2.21.0)", "pytest (>=7.1.3,<7.2.0)", "pytest-cov (>=3.0.0,<3.1.0)", "pytest-html (>=3.1.1,<3.2.0)", "types-setuptools (>=65.3.0,<65.4.0)"]
[[package]]
name = "marshmallow"
version = "3.21.3"
description = "A lightweight library for converting complex datatypes to and from native Python datatypes."
optional = false
python-versions = ">=3.8"
files = [
{file = "marshmallow-3.21.3-py3-none-any.whl", hash = "sha256:86ce7fb914aa865001a4b2092c4c2872d13bc347f3d42673272cabfdbad386f1"},
{file = "marshmallow-3.21.3.tar.gz", hash = "sha256:4f57c5e050a54d66361e826f94fba213eb10b67b2fdb02c3e0343ce207ba1662"},
]
[package.dependencies]
packaging = ">=17.0"
[package.extras]
dev = ["marshmallow[tests]", "pre-commit (>=3.5,<4.0)", "tox"]
docs = ["alabaster (==0.7.16)", "autodocsumm (==0.2.12)", "sphinx (==7.3.7)", "sphinx-issues (==4.1.0)", "sphinx-version-warning (==1.1.2)"]
tests = ["pytest", "pytz", "simplejson"]
[[package]]
name = "multidict"
version = "6.0.5"
@@ -555,6 +594,17 @@ files = [
{file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"},
]
[[package]]
name = "packaging"
version = "24.0"
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.7"
files = [
{file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"},
{file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"},
]
[[package]]
name = "pydantic"
version = "2.7.3"
@@ -746,6 +796,20 @@ snappy = ["python-snappy"]
test = ["pytest (>=7)"]
zstd = ["zstandard"]
[[package]]
name = "python-dotenv"
version = "1.0.1"
description = "Read key-value pairs from a .env file and set them as environment variables"
optional = false
python-versions = ">=3.8"
files = [
{file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"},
{file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"},
]
[package.extras]
cli = ["click (>=5.0)"]
[[package]]
name = "requests"
version = "2.32.3"
@@ -912,4 +976,4 @@ multidict = ">=4.0"
[metadata]
lock-version = "2.0"
python-versions = "^3.11"
content-hash = "df3df3687ea8fc62297464b5fc70d43f3b40bffcc6b05f57cc5416a844cc246d"
content-hash = "d5c0b13d3c9497feef75f74fc3d838fe2dfe1c241e1fd9fcb155b13039b8c861"
+1
View File
@@ -12,6 +12,7 @@ aiogram = "^3.3.0"
requests = "^2.31.0"
bs4 = "^0.0.2"
pymongo = "^4.6.1"
environs = "^11.0.0"
[build-system]