diff --git a/app/core/bot.py b/app/core/bot.py
index c3147ef..2ad6703 100644
--- a/app/core/bot.py
+++ b/app/core/bot.py
@@ -26,33 +26,41 @@ def get_keyboard() -> types.InlineKeyboardMarkup:
markup = types.InlineKeyboardMarkup()
markup.row(
- types.InlineKeyboardButton('Дом -> Офис', callback_data=stations_cb.new(direction='home->office')),
- types.InlineKeyboardButton('Офис -> Дом', callback_data=stations_cb.new(direction='office->home')),
+ types.InlineKeyboardButton(
+ 'Дом -> Офис', callback_data=stations_cb.new(direction='home->office')
+ ),
+ types.InlineKeyboardButton(
+ 'Офис -> Дом', callback_data=stations_cb.new(direction='office->home')
+ ),
)
return markup
@dispatcher.callback_query_handler(stations_cb.filter(direction='home->office'))
-async def home_office(query: types.CallbackQuery, callback_data: dict[str, str]) -> SendMessage:
+async def home_office(
+ query: types.CallbackQuery, callback_data: dict[str, str]
+) -> SendMessage:
text = parse_site(
driver=driver,
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
- '?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
- message='Остановка Б. Академическая ул, д. 15'
+ '?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
+ message='Остановка Б. Академическая ул, д. 15',
)
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
@dispatcher.callback_query_handler(stations_cb.filter(direction='office->home'))
-async def office_home(query: types.CallbackQuery, callback_data: dict[str, str]) -> SendMessage:
+async def office_home(
+ query: types.CallbackQuery, callback_data: dict[str, str]
+) -> SendMessage:
text = parse_site(
driver=driver,
url='https://yandex.ru/maps/213/moscow/stops/stop__9640288/?'
- 'l=masstransit&ll=37.505338%2C55.800160&tab=overview&z=211',
- message='Остановка Улица Алабяна'
+ 'l=masstransit&ll=37.505338%2C55.800160&tab=overview&z=211',
+ message='Остановка Улица Алабяна',
)
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
@@ -72,9 +80,14 @@ async def morning_bus_mailing(chat_ids: list[int]) -> None:
text = parse_site(
driver=driver,
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
- '?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
- message='Остановка Б. Академическая ул, д. 15'
+ '?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
+ message='Остановка Б. Академическая ул, д. 15',
)
await asyncio.gather(
- *[bot.send_message(chat_id=chat_id, text=text, parse_mode=types.ParseMode.HTML) for chat_id in chat_ids]
+ *[
+ bot.send_message(
+ chat_id=chat_id, text=text, parse_mode=types.ParseMode.HTML
+ )
+ for chat_id in chat_ids
+ ]
)
diff --git a/app/core/logger.py b/app/core/logger.py
index a3d755d..77bb6ce 100644
--- a/app/core/logger.py
+++ b/app/core/logger.py
@@ -2,6 +2,9 @@ import sys
from loguru import logger
logger.remove()
-logger.add(sink=sys.stdout, colorize=True, level='DEBUG',
- format="{time:DD.MM.YYYY HH:mm:ss} | {level} | "
- "{message}")
+logger.add(
+ sink=sys.stdout,
+ colorize=True,
+ level='DEBUG',
+ format="{time:DD.MM.YYYY HH:mm:ss} | {level} | {message}",
+)
diff --git a/app/core/parse_web.py b/app/core/parse_web.py
index 26d42d1..bd6a12f 100644
--- a/app/core/parse_web.py
+++ b/app/core/parse_web.py
@@ -15,8 +15,10 @@ from settings import BASE_DIR, GECKO_DRIVER_VERSION
def download_gecko_driver():
- gecko_driver = f'https://github.com/mozilla/geckodriver/releases/download/v{GECKO_DRIVER_VERSION}/' \
- f'geckodriver-v{GECKO_DRIVER_VERSION}-linux64.tar.gz'
+ gecko_driver = (
+ f'https://github.com/mozilla/geckodriver/releases/download/v{GECKO_DRIVER_VERSION}/'
+ f'geckodriver-v{GECKO_DRIVER_VERSION}-linux64.tar.gz'
+ )
if not Path(f'{BASE_DIR}/geckodriver').exists():
logger.info(f'Downloading gecodriver v {GECKO_DRIVER_VERSION}...')
@@ -44,20 +46,30 @@ def configure_firefox_driver(private_window: bool = False) -> WebDriver:
def parse_site(driver: WebDriver, url: str, message: str) -> str:
driver.get(url)
time.sleep(4)
- elements = driver.find_elements(by='class name', value='masstransit-vehicle-snippet-view')
+ elements = driver.find_elements(
+ by='class name', value='masstransit-vehicle-snippet-view'
+ )
bus_300, bus_t19 = None, None
bus_300_arrival, bus_t19_arrival = None, None
for element in elements:
try:
- bus_300 = element.find_element(by='css selector', value='[aria-label="300"]')
- bus_300_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text')
+ bus_300 = element.find_element(
+ by='css selector', value='[aria-label="300"]'
+ )
+ bus_300_arrival = element.find_element(
+ by='class name', value='masstransit-prognoses-view__title-text'
+ )
except NoSuchElementException:
pass
try:
- bus_t19 = element.find_element(by='css selector', value='[aria-label="т19"]')
- bus_t19_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text')
+ bus_t19 = element.find_element(
+ by='css selector', value='[aria-label="т19"]'
+ )
+ bus_t19_arrival = element.find_element(
+ by='class name', value='masstransit-prognoses-view__title-text'
+ )
except NoSuchElementException:
pass
answer = f'{message}\n\n'
diff --git a/app/core/scheduler.py b/app/core/scheduler.py
index 6af6d37..c53deb6 100644
--- a/app/core/scheduler.py
+++ b/app/core/scheduler.py
@@ -1,14 +1,17 @@
from core.bot import morning_bus_mailing
cron_jobs = [
- {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, 'second': 0},
- {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 4, 'second': 0},
- {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 9, 'second': 0},
- ]
+ {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, 'second': 0},
+ {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 4, 'second': 0},
+ {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 9, 'second': 0},
+]
-user_chat_ids = {'chat_ids': [417070387, # me
- 431571617, # Lenok
- ]}
+user_chat_ids = {
+ 'chat_ids': [
+ 417070387, # me
+ 431571617, # Lenok
+ ]
+}
def asyncio_schedule() -> None:
diff --git a/app/delete.py b/app/delete.py
deleted file mode 100644
index e6d64aa..0000000
--- a/app/delete.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from pathlib import Path
-
-print(Path(__file__).parent.parent)
\ No newline at end of file