Skip to content

Runtime strings still recommend a bare playwright install #264

Description

@skoonin

Type: bug

Problem

Four runtime strings still tell the user to run a bare playwright install, the PATH-resolution failure #250 fixed and #262 removed from the docs.

playwright resolved through PATH can install a browser build into a different Python's shared cache than the one daily-driver runs under, leaving the "browser not installed" condition exactly where it was. #250 fixed doctor by emitting sys.executable — an absolute path — at plugins/job_search/doctor.py:183-186:

"Run: daily-driver doctor --fix "
f"(or: {sys.executable} -m playwright install {engine})"

The remaining sites do not:

Site String
plugins/job_search/config.py:324 "or webkit. Must be installed (playwright install )."
plugins/job_search/config.py:761 "Shipped scrapers (Playwright, needs playwright install):"
plugins/job_search/scraper/sources/_http.py:235 f"playwright install {engine}"
plugins/job_search/scraper/sources/_http.py:249 "browser launch failed (run: playwright install %s): %s"

The two config.py strings are field descriptions, so they render into every scaffolded .dd-config.yaml — the same class of user-facing documentation the docs pass corrected. The two _http.py strings are the ImportError raised when Playwright is missing and the log.error on a failed browser launch, which are exactly the moments a user reaches for the command.

Fix

Match doctor's pattern: lead with daily-driver doctor --fix, and where a manual form is given, qualify the interpreter rather than spelling a bare playwright or python3. _http.py already has sys available at the raise site; the config.py descriptions are static text, so they should point at doctor --fix rather than embed an interpreter path.

Context

#262 corrected docs/troubleshooting.md, docs/install.md and CONTRIBUTING.md; these runtime strings were outside that pass's scope and its CHANGELOG entry is scoped to the docs it touched, so nothing overclaims. Related: #250.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions