mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2025-09-11 13:00:40 +03:00
add hash to driver
This commit is contained in:
parent
d15cc2d2c7
commit
4d6dbf60d8
@ -4,7 +4,8 @@ from aiogram import Bot, types
|
|||||||
from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
||||||
from aiogram.dispatcher import Dispatcher
|
from aiogram.dispatcher import Dispatcher
|
||||||
from aiogram.utils.callback_data import CallbackData
|
from aiogram.utils.callback_data import CallbackData
|
||||||
from app.core.parse_web import get_driver, parse_site
|
from app.core.logger import logger
|
||||||
|
from app.core.parse_web import get_driver, get_ttl_hash, parse_site
|
||||||
from app.settings import TELEGRAM_API_TOKEN
|
from app.settings import TELEGRAM_API_TOKEN
|
||||||
|
|
||||||
bot = Bot(token=TELEGRAM_API_TOKEN)
|
bot = Bot(token=TELEGRAM_API_TOKEN)
|
||||||
@ -36,8 +37,7 @@ def get_keyboard() -> types.InlineKeyboardMarkup:
|
|||||||
async def home_office(
|
async def home_office(
|
||||||
query: types.CallbackQuery, callback_data: dict[str, str]
|
query: types.CallbackQuery, callback_data: dict[str, str]
|
||||||
) -> types.Message:
|
) -> types.Message:
|
||||||
driver = get_driver()
|
driver = get_driver(ttl_hash=get_ttl_hash(seconds=10))
|
||||||
|
|
||||||
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/'
|
||||||
@ -54,7 +54,7 @@ async def home_office(
|
|||||||
async def office_home(
|
async def office_home(
|
||||||
query: types.CallbackQuery, callback_data: dict[str, str]
|
query: types.CallbackQuery, callback_data: dict[str, str]
|
||||||
) -> types.Message:
|
) -> types.Message:
|
||||||
driver = get_driver()
|
driver = get_driver(ttl_hash=get_ttl_hash())
|
||||||
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/?'
|
||||||
@ -69,6 +69,8 @@ async def office_home(
|
|||||||
|
|
||||||
@dispatcher.message_handler(commands=['chatid'])
|
@dispatcher.message_handler(commands=['chatid'])
|
||||||
async def chat_id(message: types.Message) -> types.Message:
|
async def chat_id(message: types.Message) -> types.Message:
|
||||||
|
driver = get_driver(ttl_hash=get_ttl_hash())
|
||||||
|
logger.info(driver.session_id)
|
||||||
return await bot.send_message(message.chat.id, message.chat.id)
|
return await bot.send_message(message.chat.id, message.chat.id)
|
||||||
|
|
||||||
|
|
||||||
@ -80,7 +82,7 @@ async def echo(message: types.Message) -> types.Message:
|
|||||||
|
|
||||||
|
|
||||||
async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
||||||
driver = get_driver()
|
driver = get_driver(ttl_hash=get_ttl_hash())
|
||||||
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/'
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
import tarfile
|
import tarfile
|
||||||
import time
|
import time
|
||||||
|
from functools import lru_cache
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import wget
|
import wget
|
||||||
@ -89,7 +90,13 @@ def parse_site(url: str, message: str, driver: RemoteWebDriver | None = None) ->
|
|||||||
return answer
|
return answer
|
||||||
|
|
||||||
|
|
||||||
def get_driver() -> RemoteWebDriver:
|
def get_ttl_hash(seconds: int = 28) -> int:
|
||||||
|
"""Return the same value withing `seconds` time period"""
|
||||||
|
return round(time.time() / seconds)
|
||||||
|
|
||||||
|
|
||||||
|
@lru_cache
|
||||||
|
def get_driver(ttl_hash: int | None = None) -> RemoteWebDriver:
|
||||||
opt = options.Options()
|
opt = options.Options()
|
||||||
opt.headless = True
|
opt.headless = True
|
||||||
driver = RemoteWebDriver(
|
driver = RemoteWebDriver(
|
||||||
|
@ -44,6 +44,8 @@ services:
|
|||||||
args:
|
args:
|
||||||
USER: web
|
USER: web
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
networks:
|
networks:
|
||||||
transport_bot_network:
|
transport_bot_network:
|
||||||
ipv4_address: 200.20.0.11
|
ipv4_address: 200.20.0.11
|
||||||
|
Loading…
x
Reference in New Issue
Block a user