add travel code notify
This commit is contained in:
@@ -2,10 +2,14 @@ from aiosmtpd.controller import Controller
|
||||
import quopri
|
||||
from loguru import logger
|
||||
import re
|
||||
from clicker import Clicker
|
||||
from browser import PrimaryLocationClicker, TravelVerificationClicker
|
||||
import asyncio
|
||||
from line_notifier import LineNotifier
|
||||
|
||||
URL_PATTERN = re.compile(b'"(https://www.netflix.com/account/update-primary-location.*?)"', re.DOTALL)
|
||||
VERIFY_URL_PATTERN = re.compile(b'"(https://www.netflix.com/account/travel/verify.*?)"', re.DOTALL)
|
||||
|
||||
notifier = LineNotifier()
|
||||
|
||||
|
||||
class NetflixHandler:
|
||||
@@ -23,13 +27,19 @@ class NetflixHandler:
|
||||
envelope.content.decode('utf8', errors='replace')
|
||||
)
|
||||
if urls := URL_PATTERN.findall(data):
|
||||
with Clicker() as browser:
|
||||
with PrimaryLocationClicker() as browser:
|
||||
url = urls[0]
|
||||
logger.info(f'Found Update link: {url}')
|
||||
try:
|
||||
browser.click(url.decode())
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
elif urls := VERIFY_URL_PATTERN.findall(data):
|
||||
with TravelVerificationClicker() as browser:
|
||||
url = urls[0]
|
||||
logger.info(f'Found Travel Verification link: {url}')
|
||||
code = browser.get_code(url)
|
||||
notifier.notify(f'代碼為 {code}')
|
||||
elif 'google' in envelope.mail_from:
|
||||
logger.info(data)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user