mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2025-09-11 13:00:40 +03:00
black reformated
This commit is contained in:
parent
7ac33d13a8
commit
43c2144a84
@ -26,33 +26,41 @@ def get_keyboard() -> types.InlineKeyboardMarkup:
|
|||||||
markup = types.InlineKeyboardMarkup()
|
markup = types.InlineKeyboardMarkup()
|
||||||
|
|
||||||
markup.row(
|
markup.row(
|
||||||
types.InlineKeyboardButton('Дом -> Офис', callback_data=stations_cb.new(direction='home->office')),
|
types.InlineKeyboardButton(
|
||||||
types.InlineKeyboardButton('Офис -> Дом', callback_data=stations_cb.new(direction='office->home')),
|
'Дом -> Офис', callback_data=stations_cb.new(direction='home->office')
|
||||||
|
),
|
||||||
|
types.InlineKeyboardButton(
|
||||||
|
'Офис -> Дом', callback_data=stations_cb.new(direction='office->home')
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return markup
|
return markup
|
||||||
|
|
||||||
|
|
||||||
@dispatcher.callback_query_handler(stations_cb.filter(direction='home->office'))
|
@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(
|
text = parse_site(
|
||||||
driver=driver,
|
driver=driver,
|
||||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
||||||
'?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
|
'?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
|
||||||
message='Остановка Б. Академическая ул, д. 15'
|
message='Остановка Б. Академическая ул, д. 15',
|
||||||
)
|
)
|
||||||
|
|
||||||
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
|
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
|
||||||
|
|
||||||
|
|
||||||
@dispatcher.callback_query_handler(stations_cb.filter(direction='office->home'))
|
@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(
|
text = parse_site(
|
||||||
driver=driver,
|
driver=driver,
|
||||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640288/?'
|
url='https://yandex.ru/maps/213/moscow/stops/stop__9640288/?'
|
||||||
'l=masstransit&ll=37.505338%2C55.800160&tab=overview&z=211',
|
'l=masstransit&ll=37.505338%2C55.800160&tab=overview&z=211',
|
||||||
message='Остановка Улица Алабяна'
|
message='Остановка Улица Алабяна',
|
||||||
)
|
)
|
||||||
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
|
return SendMessage(query.message.chat.id, text, reply_markup=get_keyboard())
|
||||||
|
|
||||||
@ -73,8 +81,13 @@ async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
|||||||
driver=driver,
|
driver=driver,
|
||||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
||||||
'?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
|
'?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21',
|
||||||
message='Остановка Б. Академическая ул, д. 15'
|
message='Остановка Б. Академическая ул, д. 15',
|
||||||
)
|
)
|
||||||
await asyncio.gather(
|
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
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
@ -2,6 +2,9 @@ import sys
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
logger.remove()
|
logger.remove()
|
||||||
logger.add(sink=sys.stdout, colorize=True, level='DEBUG',
|
logger.add(
|
||||||
format="<cyan>{time:DD.MM.YYYY HH:mm:ss}</cyan> | <level>{level}</level> | "
|
sink=sys.stdout,
|
||||||
"<magenta>{message}</magenta>")
|
colorize=True,
|
||||||
|
level='DEBUG',
|
||||||
|
format="<cyan>{time:DD.MM.YYYY HH:mm:ss}</cyan> | <level>{level}</level> | <magenta>{message}</magenta>",
|
||||||
|
)
|
||||||
|
@ -15,8 +15,10 @@ from settings import BASE_DIR, GECKO_DRIVER_VERSION
|
|||||||
|
|
||||||
|
|
||||||
def download_gecko_driver():
|
def download_gecko_driver():
|
||||||
gecko_driver = f'https://github.com/mozilla/geckodriver/releases/download/v{GECKO_DRIVER_VERSION}/' \
|
gecko_driver = (
|
||||||
|
f'https://github.com/mozilla/geckodriver/releases/download/v{GECKO_DRIVER_VERSION}/'
|
||||||
f'geckodriver-v{GECKO_DRIVER_VERSION}-linux64.tar.gz'
|
f'geckodriver-v{GECKO_DRIVER_VERSION}-linux64.tar.gz'
|
||||||
|
)
|
||||||
|
|
||||||
if not Path(f'{BASE_DIR}/geckodriver').exists():
|
if not Path(f'{BASE_DIR}/geckodriver').exists():
|
||||||
logger.info(f'Downloading gecodriver v {GECKO_DRIVER_VERSION}...')
|
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:
|
def parse_site(driver: WebDriver, url: str, message: str) -> str:
|
||||||
driver.get(url)
|
driver.get(url)
|
||||||
time.sleep(4)
|
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, bus_t19 = None, None
|
||||||
bus_300_arrival, bus_t19_arrival = None, None
|
bus_300_arrival, bus_t19_arrival = None, None
|
||||||
|
|
||||||
for element in elements:
|
for element in elements:
|
||||||
try:
|
try:
|
||||||
bus_300 = element.find_element(by='css selector', value='[aria-label="300"]')
|
bus_300 = element.find_element(
|
||||||
bus_300_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text')
|
by='css selector', value='[aria-label="300"]'
|
||||||
|
)
|
||||||
|
bus_300_arrival = element.find_element(
|
||||||
|
by='class name', value='masstransit-prognoses-view__title-text'
|
||||||
|
)
|
||||||
except NoSuchElementException:
|
except NoSuchElementException:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
bus_t19 = element.find_element(by='css selector', value='[aria-label="т19"]')
|
bus_t19 = element.find_element(
|
||||||
bus_t19_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text')
|
by='css selector', value='[aria-label="т19"]'
|
||||||
|
)
|
||||||
|
bus_t19_arrival = element.find_element(
|
||||||
|
by='class name', value='masstransit-prognoses-view__title-text'
|
||||||
|
)
|
||||||
except NoSuchElementException:
|
except NoSuchElementException:
|
||||||
pass
|
pass
|
||||||
answer = f'{message}\n\n'
|
answer = f'{message}\n\n'
|
||||||
|
@ -4,11 +4,14 @@ cron_jobs = [
|
|||||||
{'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, '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': 4, 'second': 0},
|
||||||
{'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 9, 'second': 0},
|
{'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 9, 'minute': 9, 'second': 0},
|
||||||
]
|
]
|
||||||
|
|
||||||
user_chat_ids = {'chat_ids': [417070387, # me
|
user_chat_ids = {
|
||||||
|
'chat_ids': [
|
||||||
|
417070387, # me
|
||||||
431571617, # Lenok
|
431571617, # Lenok
|
||||||
]}
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def asyncio_schedule() -> None:
|
def asyncio_schedule() -> None:
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
from pathlib import Path
|
|
||||||
|
|
||||||
print(Path(__file__).parent.parent)
|
|
Loading…
x
Reference in New Issue
Block a user