add station buttons

This commit is contained in:
Dmitry Afanasyev 2022-08-08 20:16:37 +03:00
parent e6f741d93f
commit bb95ff0378
2 changed files with 16 additions and 7 deletions

15
main.py
View File

@ -35,7 +35,12 @@ def get_keyboard() -> types.InlineKeyboardMarkup:
@dp.callback_query_handler(stations_cb.filter(direction='home->office')) @dp.callback_query_handler(stations_cb.filter(direction='home->office'))
async def home_office(query: types.CallbackQuery, callback_data: dict[str, str]) -> None: async def home_office(query: types.CallbackQuery, callback_data: dict[str, str]) -> None:
text = parse_site(driver=driver) 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'
)
# or reply INTO webhook # or reply INTO webhook
return await query.message.edit_text(text) return await query.message.edit_text(text)
@ -45,7 +50,13 @@ async def home_office(query: types.CallbackQuery, callback_data: dict[str, str])
async def office_home(query: types.CallbackQuery, callback_data: dict[str, str]) -> Message: async def office_home(query: types.CallbackQuery, callback_data: dict[str, str]) -> Message:
# or reply INTO webhook # or reply INTO webhook
return await query.message.edit_text('Hello World') text = parse_site(
driver=driver,
url='https://yandex.ru/maps/213/moscow/stops/stop__9640289/?'
'l=masstransit&ll=37.507947%2C55.802094&tab=timetable&z=21',
message='Остановка Улица Алабяна'
)
return await query.message.edit_text(text)
@dp.message_handler(commands=['chatid']) @dp.message_handler(commands=['chatid'])

View File

@ -47,10 +47,8 @@ def configure_firefox_driver(private_window: bool = False) -> WebDriver:
return firefox_driver return firefox_driver
def parse_site(driver: WebDriver) -> str: def parse_site(driver: WebDriver, url: str, message: str) -> str:
driver.get( driver.get(url)
'https://yandex.ru/maps/213/moscow/stops/stop__9640740/?l=masstransit&ll=37.527754%2C55.823507&tab=overview&z=21'
)
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')
@ -68,6 +66,6 @@ def parse_site(driver: WebDriver) -> str:
bus_t19_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text') bus_t19_arrival = element.find_element(by='class name', value='masstransit-prognoses-view__title-text')
except NoSuchElementException: except NoSuchElementException:
pass pass
return ('Остановка Б. Академическая ул, д. 15 в сторону Москва Сити\n\n' return (f'{message}\n\n'
f'Автобус {bus_300.text} - {bus_300_arrival.text}\nАвтобус {bus_t19.text} - {bus_t19_arrival.text}' f'Автобус {bus_300.text} - {bus_300_arrival.text}\nАвтобус {bus_t19.text} - {bus_t19_arrival.text}'
) )