diff --git a/main.py b/main.py index b14ca17..20d1a65 100644 --- a/main.py +++ b/main.py @@ -10,10 +10,6 @@ import uvicorn from admin.models import get_active_flow_config, init_db, insert_run from config import config -from crawler.driver import driver_session -from crawler.dynamic_flow import DynamicFlow -from crawler.scenarios.fresh_session import FreshSessionScenario -from crawler.scenarios.otp_login import OTPLoginScenario def _load_active_flow() -> dict[str, object]: @@ -56,6 +52,10 @@ def _record( def run_otp(phone: str) -> None: + from crawler.driver import driver_session + from crawler.dynamic_flow import DynamicFlow + from crawler.scenarios.otp_login import OTPLoginScenario + def otp_resolver(p: str) -> str: # TODO: wire up your SMS gateway / webhook here. raise NotImplementedError("Implement otp_resolver to fetch OTP from your SMS gateway") @@ -73,6 +73,10 @@ def run_otp(phone: str) -> None: def run_fresh() -> None: + from crawler.driver import driver_session + from crawler.dynamic_flow import DynamicFlow + from crawler.scenarios.fresh_session import FreshSessionScenario + flow_cfg = _load_active_flow() t0 = time.monotonic() try: diff --git a/pyproject.toml b/pyproject.toml index 45c76c2..586f508 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,7 @@ dependencies = [ "python-multipart>=0.0.9", "pydantic>=2.7.0", "python-dotenv>=1.0.1", + "setuptools>=70.0.0", ] [tool.pyright] diff --git a/uv.lock b/uv.lock index c646333..f76c388 100644 --- a/uv.lock +++ b/uv.lock @@ -571,6 +571,7 @@ dependencies = [ { name = "python-multipart" }, { name = "selenium" }, { name = "selenium-stealth" }, + { name = "setuptools" }, { name = "undetected-chromedriver" }, { name = "uvicorn", extra = ["standard"] }, ] @@ -590,6 +591,7 @@ requires-dist = [ { name = "python-multipart", specifier = ">=0.0.9" }, { name = "selenium", specifier = ">=4.18.0" }, { name = "selenium-stealth", specifier = ">=1.0.6" }, + { name = "setuptools", specifier = ">=70.0.0" }, { name = "undetected-chromedriver", specifier = ">=3.5.5" }, { name = "uvicorn", extras = ["standard"], specifier = ">=0.30.0" }, ] @@ -625,6 +627,15 @@ wheels = [ { url = "https://package-mirror.liara.ir/repository/pypi/packages/selenium-stealth/1.0.6/selenium_stealth-1.0.6-py3-none-any.whl", hash = "sha256:b62da5452aa4a84f29a4dfb21a9696aff20788a7c570dd0b81bc04a940848b97" }, ] +[[package]] +name = "setuptools" +version = "82.0.1" +source = { registry = "https://pypi.reg.darano.ir/" } +sdist = { url = "https://package-mirror.liara.ir/repository/pypi/packages/setuptools/82.0.1/setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9" } +wheels = [ + { url = "https://package-mirror.liara.ir/repository/pypi/packages/setuptools/82.0.1/setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb" }, +] + [[package]] name = "sniffio" version = "1.3.1"