From 758c0c677439a8f835210f3037bd563d3e0689d1 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 3 Nov 2024 12:54:04 -0800 Subject: [PATCH] add user providable PLAYWRIGHT cache dir --- .../abx_plugin_playwright/binproviders.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py index 6bc44815..a0711666 100644 --- a/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py +++ b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py @@ -25,10 +25,16 @@ import abx from .binaries import PLAYWRIGHT_BINARY - +USER_PLAYWRIGHT_CACHE_DIR: str | None = os.environ.get("PLAYWRIGHT_BROWSERS_PATH", None) MACOS_PLAYWRIGHT_CACHE_DIR: Path = Path("~/Library/Caches/ms-playwright") LINUX_PLAYWRIGHT_CACHE_DIR: Path = Path("~/.cache/ms-playwright") +PLAYWRIGHT_CACHE_DIR: Path = Path(USER_PLAYWRIGHT_CACHE_DIR) if USER_PLAYWRIGHT_CACHE_DIR else ( + MACOS_PLAYWRIGHT_CACHE_DIR.expanduser() + if OPERATING_SYSTEM == "darwin" else + LINUX_PLAYWRIGHT_CACHE_DIR.expanduser() +) + class PlaywrightBinProvider(BinProvider): name: BinProviderName = "playwright" @@ -36,11 +42,7 @@ class PlaywrightBinProvider(BinProvider): PATH: PATHStr = f"{Path('/usr/share/abx') / 'bin'}:{DEFAULT_ENV_PATH}" - playwright_browsers_dir: Path = ( - MACOS_PLAYWRIGHT_CACHE_DIR.expanduser() - if OPERATING_SYSTEM == "darwin" else - LINUX_PLAYWRIGHT_CACHE_DIR.expanduser() - ) + playwright_browsers_dir: Path = PLAYWRIGHT_CACHE_DIR playwright_install_args: List[str] = ["install"] packages_handler: BinProviderOverrides = Field(default={ @@ -49,7 +51,6 @@ class PlaywrightBinProvider(BinProvider): _browser_abspaths: ClassVar[Dict[str, HostBinPath]] = {} - @computed_field @property def INSTALLER_BIN_ABSPATH(self) -> HostBinPath | None: try: