diff --git a/app/core/bot.py b/app/core/bot.py index 3d9c471..dab41b5 100644 --- a/app/core/bot.py +++ b/app/core/bot.py @@ -5,9 +5,13 @@ from aiogram.contrib.middlewares.logging import LoggingMiddleware from aiogram.dispatcher import Dispatcher from aiogram.dispatcher.webhook import SendMessage from aiogram.utils.callback_data import CallbackData -from core.logger import logger -from core.parse_web import configure_firefox_driver, download_gecko_driver, parse_site -from settings import API_TOKEN +from app.core.logger import logger +from app.core.parse_web import ( + configure_firefox_driver, + download_gecko_driver, + parse_site, +) +from app.settings import API_TOKEN bot = Bot(token=API_TOKEN) dispatcher = Dispatcher(bot) diff --git a/app/core/parse_web.py b/app/core/parse_web.py index f988d97..49ff684 100644 --- a/app/core/parse_web.py +++ b/app/core/parse_web.py @@ -4,13 +4,13 @@ import time from pathlib import Path import wget -from core.logger import logger +from app.core.logger import logger +from app.settings import BASE_DIR, GECKO_DRIVER_VERSION from selenium import webdriver from selenium.common.exceptions import NoSuchElementException, WebDriverException from selenium.webdriver.firefox import options from selenium.webdriver.firefox.service import Service from selenium.webdriver.firefox.webdriver import WebDriver -from settings import BASE_DIR, GECKO_DRIVER_VERSION def download_gecko_driver() -> None: @@ -38,7 +38,7 @@ def configure_firefox_driver(private_window: bool = False) -> WebDriver | None: opt.add_argument(f'{Path.home()}/snap/firefox/common/.mozilla/firefox') if private_window: opt.set_preference("browser.privatebrowsing.autostart", True) - service = Service(executable_path=BASE_DIR / 'geckodriver') + service = Service(executable_path=(BASE_DIR / 'geckodriver').as_posix()) try: firefox_driver = webdriver.Firefox(service=service, options=opt) return firefox_driver diff --git a/app/core/scheduler.py b/app/core/scheduler.py index c53deb6..de5ccd2 100644 --- a/app/core/scheduler.py +++ b/app/core/scheduler.py @@ -1,4 +1,4 @@ -from core.bot import morning_bus_mailing +from app.core.bot import morning_bus_mailing cron_jobs = [ {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, 'second': 0}, diff --git a/app/main.py b/main.py similarity index 89% rename from app/main.py rename to main.py index 9daf975..efd30bb 100644 --- a/app/main.py +++ b/main.py @@ -1,9 +1,9 @@ from aiogram import Dispatcher from aiogram.utils.executor import start_polling, start_webhook -from core.bot import bot, dispatcher -from core.logger import logger -from core.scheduler import asyncio_schedule -from settings import ( +from app.core.bot import bot, dispatcher +from app.core.logger import logger +from app.core.scheduler import asyncio_schedule +from app.settings import ( START_WITH_WEBHOOK, WEBAPP_HOST, WEBAPP_PORT, diff --git a/scripts/start-bot.sh b/scripts/start-bot.sh index bb705f8..680a0d6 100644 --- a/scripts/start-bot.sh +++ b/scripts/start-bot.sh @@ -4,4 +4,4 @@ echo "starting the bot" cd /opt/mosgortrans \ && source /home/balsh/.cache/pypoetry/virtualenvs/mosgortrans-3eZxMcY3-py3.10/bin/activate \ -&& python app/main.py \ No newline at end of file +&& python main.py \ No newline at end of file diff --git a/app/tests/__init__.py b/tests/__init__.py similarity index 100% rename from app/tests/__init__.py rename to tests/__init__.py diff --git a/app/tests/bot/test_bot.py b/tests/bot/test_bot.py similarity index 89% rename from app/tests/bot/test_bot.py rename to tests/bot/test_bot.py index 43a78a0..632565a 100644 --- a/app/tests/bot/test_bot.py +++ b/tests/bot/test_bot.py @@ -2,8 +2,8 @@ import pytest from aiogram import Bot, types from aiogram.dispatcher.filters.builtin import Command from app.core.bot import dispatcher -from app.tests.conftest import FakeTelegram -from app.tests.data.factories import UserFactory +from tests.conftest import FakeTelegram +from tests.data.factories import UserFactory pytestmark = [ pytest.mark.asyncio, diff --git a/app/tests/conftest.py b/tests/conftest.py similarity index 94% rename from app/tests/conftest.py rename to tests/conftest.py index 9f4f6b2..1f80bf9 100644 --- a/app/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,4 @@ import asyncio -import sys -from pathlib import Path from typing import Any import aresponses @@ -10,9 +8,6 @@ from aiogram import Bot BOT_ID = 123456789 TOKEN = f'{BOT_ID}:AABBCCDDEEFFaabbccddeeff-1234567890' -# include pytest directory in PATH -sys.path.append(Path(__file__).parent.parent.as_posix()) - class FakeTelegram(aresponses.ResponsesMockServer): def __init__( diff --git a/app/tests/data/__init__.py b/tests/data/__init__.py similarity index 100% rename from app/tests/data/__init__.py rename to tests/data/__init__.py diff --git a/app/tests/data/factories.py b/tests/data/factories.py similarity index 90% rename from app/tests/data/factories.py rename to tests/data/factories.py index 89d7de7..920f133 100644 --- a/app/tests/data/factories.py +++ b/tests/data/factories.py @@ -1,6 +1,6 @@ import factory -from app.tests.data.models import User from faker import Faker +from tests.data.models import User faker = Faker('ru_RU') diff --git a/app/tests/data/models.py b/tests/data/models.py similarity index 100% rename from app/tests/data/models.py rename to tests/data/models.py