35 lines
905 B
Python
35 lines
905 B
Python
from __future__ import annotations
|
|
|
|
import asyncio
|
|
from typing import TYPE_CHECKING, Callable
|
|
|
|
from socketio import AsyncServer
|
|
|
|
if TYPE_CHECKING:
|
|
from .air import Air
|
|
from .app import App
|
|
from .client import Client
|
|
|
|
app: App
|
|
sio: AsyncServer
|
|
loop: asyncio.AbstractEventLoop | None = None
|
|
air: Air | None = None
|
|
root: Callable | None = None
|
|
script_mode: bool = False
|
|
script_client: Client | None = None
|
|
|
|
|
|
def is_script_mode_preflight() -> bool:
|
|
"""Return whether this is the preflight run of the script mode."""
|
|
return script_mode and not app.is_started # pylint: disable=undefined-variable # noqa: F821
|
|
|
|
|
|
def reset() -> None:
|
|
"""Reset core variables. (Useful for testing.)"""
|
|
global loop, air, root, script_mode, script_client # pylint: disable=global-statement # noqa: PLW0603
|
|
loop = None
|
|
air = None
|
|
root = None
|
|
script_mode = False
|
|
script_client = None
|