deps: ruff 0.17.0 (CPY001 ignored: no copyright policy)
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (flutter, flutter-analyze, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (mypy, mypy, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (pylint, pylint, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (rest, , mypy,pylint,flutter-analyze) (push) Waiting to run
Tests / test (push) Waiting to run
Tests / lock-popup-safety (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (0) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (1) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (2) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (3) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (4) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (5) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (6) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (7) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (8) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (9) (push) Waiting to run
Tests / flutter-coverage (push) Blocked by required conditions
Tests / web-coverage (push) Waiting to run
repo-contract / repo contract (push) Waiting to run

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Krzysztof Rudnicki 2026-10-09 22:05:02 +02:00
parent 215f03ecfc
commit 3a2ad0245c
9 changed files with 36 additions and 18 deletions

View File

@ -62,7 +62,7 @@ repos:
files: ^(screen_locker/.*\.py|requirements\.txt)$
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.2
rev: v0.17.0
hooks:
- id: ruff
args: [--fix, --unsafe-fixes, --exit-non-zero-on-fix, --show-fixes]

View File

@ -43,6 +43,9 @@ ignore = [
"D203",
"D213",
"COM812",
# Personal repo, no copyright policy (ruff 0.17 made CPY001 stable under
# select=ALL).
"CPY001",
"ISC001",
"S603",
]

View File

@ -20,7 +20,7 @@ pytest-xdist==3.8.0
# token over the REST endpoint; crdt-sync already pulls requests in, but this
# module imports it itself, so it is declared rather than assumed.
requests==2.34.2
ruff==0.16.10
ruff==0.17.0
types-requests==2.33.0.20261006
# Direct dependency since the Firebase session stream (_session_stream) catches
# urllib3's own errors on the long-lived SSE read; requests pulls it in, but

View File

@ -78,8 +78,10 @@ class PhoneVerificationMixin(AdbTransportMixin, HttpWorkoutFetchMixin):
if duration_min < WORKOUT_DURATION_ACCEPT_MINUTES:
return (
"too_short",
f"Workout too short! {duration_min:.0f} min logged, "
f"need at least {MIN_WORKOUT_DURATION_MINUTES} min.",
(
f"Workout too short! {duration_min:.0f} min logged, "
f"need at least {MIN_WORKOUT_DURATION_MINUTES} min."
),
)
flag = "all succeeded" if data.get("succeeded") else "partial"
return "verified", f"Workout verified! ({duration_min:.0f} min, {flag})"

View File

@ -151,9 +151,11 @@ class RunnerUpDbMixin:
if db_path is None:
return (
"not_verified",
"No TCX export found and root DB access is unavailable on this "
"device — enable RunnerUp's File Synchronizer auto-export so "
"runs land in /sdcard/Documents/RunnerUp/",
(
"No TCX export found and root DB access is unavailable on "
"this device — enable RunnerUp's File Synchronizer "
"auto-export so runs land in /sdcard/Documents/RunnerUp/"
),
)
try:

View File

@ -224,7 +224,9 @@ class RunnerUpVerificationMixin(
if not self._has_adb_device():
return (
"not_verified",
f"No RunnerUp export for today in {RUNNERUP_WEBDAV_DIRS} and the "
"phone is not adb-reachable",
(
f"No RunnerUp export for today in {RUNNERUP_WEBDAV_DIRS} "
"and the phone is not adb-reachable"
),
)
return self._verify_runnerup_via_db()

View File

@ -205,8 +205,10 @@ class PhoneCheckMixin:
else:
self._phone_check_result = (
outcome.status,
f"StrongLifts: {outcome.phone_message} · "
f"RunnerUp: {outcome.runnerup_message}",
(
f"StrongLifts: {outcome.phone_message} · "
f"RunnerUp: {outcome.runnerup_message}"
),
)
self.render(gather_status())

View File

@ -21,6 +21,7 @@ if TYPE_CHECKING:
def setup_unlock(
mock_tk: MagicMock,
tmp_path: Path,
*,
weekly_count: int = 5,
streak: int = 0,
adjust_ok: bool = True,

View File

@ -145,11 +145,15 @@ def render_table(rows: list[tuple[int, int, int, Path]]) -> str:
out += [
f"- **{total_files} files** currently exceed 250 lines.",
f"- **{total_over:,} lines** over the cap in total (the work left to "
f"do); longest file is **{longest}** lines.",
(
f"- **{total_over:,} lines** over the cap in total (the work left "
f"to do); longest file is **{longest}** lines."
),
"",
"ROI = lines x commits in the last year. Work top-down; a long file "
"nobody edits",
(
"ROI = lines x commits in the last year. Work top-down; a long "
"file nobody edits"
),
"has near-zero payoff and should not be first.",
"",
"| lines | commits/yr | kind | file |",
@ -162,9 +166,11 @@ def render_table(rows: list[tuple[int, int, int, Path]]) -> str:
if remaining > 0:
out += [
"",
f"_({remaining} further files over 250 lines not listed — "
"re-run `python3 scripts/refresh_refactor_todo.py` for the "
"current set.)_",
(
f"_({remaining} further files over 250 lines not listed — "
"re-run `python3 scripts/refresh_refactor_todo.py` for the "
"current set.)_"
),
]
out += ["", END_MARKER]
return "\n".join(out)