|
|
|
import sys |
|
import asyncio |
|
|
|
from os.path import abspath, dirname, join |
|
from playwright.async_api import async_playwright |
|
|
|
sys.path.append(join(dirname(abspath(__file__)), "../")) |
|
|
|
from utils import push_msg |
|
from __init__ import ( |
|
browser_headless, |
|
browser_proxy, |
|
vits_url, |
|
vits_cookie_file, |
|
vits_title, |
|
vits_logger, |
|
vits_img, |
|
) |
|
|
|
|
|
|
|
async def is_login(page): |
|
await page.goto(vits_url) |
|
if await page.get_by_text("Pause Space").is_visible(): |
|
vits_logger.info("登录成功") |
|
return True |
|
else: |
|
stderr = "Cookie 过期" |
|
vits_logger.error(stderr) |
|
push_msg(vits_title, stderr, vits_img) |
|
return False |
|
|
|
|
|
|
|
async def sign(page): |
|
if not await is_login(page): |
|
return "vits_not_login" |
|
|
|
if await page.get_by_role("button", name="Restart space").is_visible(): |
|
await page.get_by_role("button", name="Restart space").click() |
|
sign_res = "restart vits server success" |
|
vits_logger.info(sign_res) |
|
else: |
|
sign_res = "restart vits server failed" |
|
vits_logger.error(sign_res) |
|
|
|
return sign_res |
|
|
|
|
|
async def vits_sign(): |
|
async with async_playwright() as playwright: |
|
browser = await playwright.chromium.launch(headless=browser_headless) |
|
context = await browser.new_context(storage_state=vits_cookie_file) |
|
sign_page = await context.new_page() |
|
sign_task = asyncio.create_task(sign(sign_page)) |
|
await asyncio.gather(sign_task) |
|
await sign_page.close() |
|
|
|
await browser.close() |
|
|
|
sign_result = sign_task.result() |
|
push_msg(vits_title, sign_result, vits_img) |
|
|
|
|
|
if __name__ == "__main__": |
|
asyncio.run(vits_sign()) |
|
|