From ff9a3d1abb0bad342de8de939ebb0898d2926b64 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Fri, 19 Sep 2025 21:20:31 -0400 Subject: [PATCH] fix(ci): run as modukle --- .github/workflows/quality.yml | 2 +- .github/workflows/test.yml | 2 +- lua/cp/scrape.lua | 11 ++++++----- scrapers/atcoder.py | 2 +- scrapers/codeforces.py | 2 +- scrapers/cses.py | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 021e3a8..c100808 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -114,4 +114,4 @@ jobs: - name: Install dependencies with mypy run: uv sync --dev - name: Type check Python files with mypy - run: cd scrapers && PYTHONPATH=.. uv run mypy . ../tests/scrapers/ + run: uv run mypy scrapers/ tests/scrapers/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7e102d7..ebee51a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,4 +61,4 @@ jobs: - name: Install dependencies with pytest run: uv sync --dev - name: Run Python tests - run: cd scrapers && PYTHONPATH=.. uv run pytest ../tests/scrapers/ -v + run: uv run pytest tests/scrapers/ -v diff --git a/lua/cp/scrape.lua b/lua/cp/scrape.lua index c49eee4..f495bf1 100644 --- a/lua/cp/scrape.lua +++ b/lua/cp/scrape.lua @@ -88,7 +88,6 @@ function M.scrape_contest_metadata(platform, contest_id) end local plugin_path = get_plugin_path() - local scraper_path = plugin_path .. '/scrapers/' .. platform .. '.py' local args if platform == 'cses' then @@ -97,7 +96,8 @@ function M.scrape_contest_metadata(platform, contest_id) 'run', '--directory', plugin_path, - scraper_path, + '-m', + 'scrapers.' .. platform, 'metadata', } else @@ -211,7 +211,6 @@ function M.scrape_problem(ctx) end local plugin_path = get_plugin_path() - local scraper_path = plugin_path .. '/scrapers/' .. ctx.contest .. '.py' local args if ctx.contest == 'cses' then @@ -220,7 +219,8 @@ function M.scrape_problem(ctx) 'run', '--directory', plugin_path, - scraper_path, + '-m', + 'scrapers.' .. ctx.contest, 'tests', ctx.contest_id, } @@ -230,7 +230,8 @@ function M.scrape_problem(ctx) 'run', '--directory', plugin_path, - scraper_path, + '-m', + 'scrapers.' .. ctx.contest, 'tests', ctx.contest_id, ctx.problem_id, diff --git a/scrapers/atcoder.py b/scrapers/atcoder.py index 51099f9..e251c44 100644 --- a/scrapers/atcoder.py +++ b/scrapers/atcoder.py @@ -8,7 +8,7 @@ from dataclasses import asdict import requests from bs4 import BeautifulSoup, Tag -from models import MetadataResult, ProblemSummary, TestCase, TestsResult +from .models import MetadataResult, ProblemSummary, TestCase, TestsResult def extract_problem_limits(soup: BeautifulSoup) -> tuple[int, float]: diff --git a/scrapers/codeforces.py b/scrapers/codeforces.py index db96804..a66acbd 100644 --- a/scrapers/codeforces.py +++ b/scrapers/codeforces.py @@ -7,7 +7,7 @@ from dataclasses import asdict import cloudscraper from bs4 import BeautifulSoup, Tag -from models import MetadataResult, ProblemSummary, TestCase, TestsResult +from .models import MetadataResult, ProblemSummary, TestCase, TestsResult def scrape(url: str) -> list[TestCase]: diff --git a/scrapers/cses.py b/scrapers/cses.py index 00cdc46..edf3224 100755 --- a/scrapers/cses.py +++ b/scrapers/cses.py @@ -8,7 +8,7 @@ from dataclasses import asdict import requests from bs4 import BeautifulSoup, Tag -from models import MetadataResult, ProblemSummary, TestCase, TestsResult +from .models import MetadataResult, ProblemSummary, TestCase, TestsResult def parse_problem_url(problem_input: str) -> str | None: