diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index beaf3ff..13f816d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -110,8 +110,8 @@ repos: - --disable-error-code=list-item additional_dependencies: - types-requests - - earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.18.0#subdirectory=earned_time - - leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.3 + - earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.19.0#subdirectory=earned_time + - leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.4 # =========================================================================== # PYLINT @@ -131,8 +131,8 @@ repos: # (steam_backlog_enforcer._mcp_server). additional_dependencies: - aiohttp==3.14.5 - - earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.18.0#subdirectory=earned_time - - leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.3 + - earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.19.0#subdirectory=earned_time + - leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.4 - howlongtobeatpy==1.0.24 - mcp==2.3.0 - pytest diff --git a/pyproject.toml b/pyproject.toml index 5769a9b..ab39a10 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,14 +13,14 @@ dependencies = [ # transitively via howlongtobeatpy and websockets was undeclared — both # are declared here so a clean install imports the package. "aiohttp==3.14.5", - "websockets==17.3", + "websockets==17.4", # The earner registry (gaming budget terms); stdlib-only, so the root # daemon imports it from the desktop user's site-packages. - "earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.18.0#subdirectory=earned_time", + "earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.19.0#subdirectory=earned_time", # The shared /proc game scan and the signed leisure facts (shadow budget, # contract C4); stdlib-only, imported by root from the user site like # earned-time. - "leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.3", + "leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.4", ] # Optional extras. The `mcp` group is ONLY needed by the MCP server diff --git a/requirements.txt b/requirements.txt index cd8b763..64faf0b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,20 +5,20 @@ aiohttp==3.14.5 bandit==1.9.4 codespell==2.4.3 coverage==7.17.0 -earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.18.0#subdirectory=earned_time +earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.19.0#subdirectory=earned_time howlongtobeatpy==1.0.24 -leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.3 +leisure-watch @ git+https://github.com/kuhyx/leisure-watch@leisure-watch-v0.2.4 mcp==2.3.0 -mypy==2.4.0 +mypy==2.4.1 pre-commit==4.7.0 pylint==4.1.3 -pytest==9.1.1 +pytest==9.2.0 pytest-cov==7.1.0 pytest-randomly==5.0.0 pytest-sugar==1.1.1 pytest-timeout==2.4.0 pytest-xdist==3.8.0 requests==2.34.2 -ruff==0.17.2 -types-requests==2.33.0.20261006 -websockets==17.3 +ruff==0.17.3 +types-requests==2.33.0.20261030 +websockets==17.4 diff --git a/steam_backlog_enforcer/tests/_no_live_focus_project.py b/steam_backlog_enforcer/tests/_no_live_focus_project.py new file mode 100644 index 0000000..18f3092 --- /dev/null +++ b/steam_backlog_enforcer/tests/_no_live_focus_project.py @@ -0,0 +1,16 @@ +"""Autouse: no live focus project reshapes the earner registry in a test.""" + +from __future__ import annotations + +from typing import TYPE_CHECKING + +import pytest + +if TYPE_CHECKING: + from pathlib import Path + + +@pytest.fixture(autouse=True) +def _no_live_focus_project(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: + """Point focus_project at an empty directory (earned_time >= 0.19).""" + monkeypatch.setenv("FOCUS_PROJECT_DATA", str(tmp_path / "focus_project")) diff --git a/steam_backlog_enforcer/tests/conftest.py b/steam_backlog_enforcer/tests/conftest.py index 754f3b6..9310d96 100644 --- a/steam_backlog_enforcer/tests/conftest.py +++ b/steam_backlog_enforcer/tests/conftest.py @@ -31,6 +31,7 @@ from steam_backlog_enforcer.tests._isolate_playtime import _isolate_playtime from steam_backlog_enforcer.tests._isolate_reading import _isolate_reading from steam_backlog_enforcer.tests._isolate_shadow import _isolate_shadow from steam_backlog_enforcer.tests._no_fast_install import _no_fast_install +from steam_backlog_enforcer.tests._no_live_focus_project import _no_live_focus_project from steam_backlog_enforcer.tests._no_real_effects import ( _no_live_games, _no_real_effects, @@ -52,6 +53,7 @@ __all__ = [ "_isolate_reading", "_isolate_shadow", "_no_fast_install", + "_no_live_focus_project", "_no_live_games", "_no_real_effects", "_no_systemd_run",