diff --git a/pyproject.toml b/pyproject.toml index 60eb0df..d78a5c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -149,17 +149,8 @@ ignore-patterns = [".*\\.pyi$"] [tool.pylint.messages_control] # Enable all checks by disabling disable enable = "all" -# Minimal disabled checks - pylint internal/meta messages only -disable = [ - "raw-checker-failed", - "bad-inline-option", - "locally-disabled", - "file-ignored", - "suppressed-message", - "useless-suppression", - "deprecated-pragma", - "use-symbolic-message-instead", -] +# No disabled checks - maximum strictness +disable = [] [tool.pylint.format] # Maximum line length (same as ruff/black) @@ -202,8 +193,8 @@ ignore-imports = true spelling-dict = "" [tool.pylint.typecheck] -# Ignore missing members for dynamic modules -ignored-modules = ["chess", "pygame", "cv2", "PIL"] +# Ignore missing members for dynamic modules (optional dependencies) +ignored-modules = ["chess", "pygame", "cv2", "PIL", "mitmproxy", "selenium", "bs4", "lxml", "berserk", "bottle"] # ============================================================================ # BANDIT - Security linter diff --git a/python_pkg/lichess_bot/lichess_api.py b/python_pkg/lichess_bot/lichess_api.py index 7576d4d..0e7f9ee 100644 --- a/python_pkg/lichess_bot/lichess_api.py +++ b/python_pkg/lichess_bot/lichess_api.py @@ -1,6 +1,6 @@ """Lichess API client for bot interactions.""" -from collections.abc import Generator # pylint: disable=import-error +from collections.abc import Generator import contextlib from http import HTTPStatus import json diff --git a/python_pkg/lichess_bot/utils.py b/python_pkg/lichess_bot/utils.py index cf63844..693d4ce 100644 --- a/python_pkg/lichess_bot/utils.py +++ b/python_pkg/lichess_bot/utils.py @@ -27,7 +27,7 @@ def get_and_increment_version() -> int: path = _version_file_path() current = 0 try: - with Path(path).open() as f: + with Path(path).open(encoding="utf-8") as f: raw = f.read().strip() if raw: current = int(raw) @@ -38,13 +38,13 @@ def get_and_increment_version() -> int: new_version = current + 1 try: tmp_path = Path(path + ".tmp") - with tmp_path.open("w") as f: + with tmp_path.open("w", encoding="utf-8") as f: f.write(str(new_version)) tmp_path.replace(path) except OSError: # As a fallback, try a direct write; failure is non-fatal to bot operation try: - with Path(path).open("w") as f: + with Path(path).open("w", encoding="utf-8") as f: f.write(str(new_version)) except OSError: _logger.debug("Could not persist bot version to %s", path) diff --git a/python_pkg/mock_server/mock_server.py b/python_pkg/mock_server/mock_server.py index 4e5c07f..767118b 100644 --- a/python_pkg/mock_server/mock_server.py +++ b/python_pkg/mock_server/mock_server.py @@ -1,6 +1,6 @@ """Mitmproxy addon to simulate connection failures.""" -from mitmproxy import http # pylint: disable=import-error +from mitmproxy import http def request(flow: http.HTTPFlow) -> None: diff --git a/python_pkg/scrape_website/scrape_comics.py b/python_pkg/scrape_website/scrape_comics.py index db779c4..da46205 100644 --- a/python_pkg/scrape_website/scrape_comics.py +++ b/python_pkg/scrape_website/scrape_comics.py @@ -6,14 +6,10 @@ from pathlib import Path from urllib.parse import urlparse import requests - -# pylint: disable=import-error from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.by import By -# pylint: enable=import-error - _logger = logging.getLogger(__name__) REQUEST_TIMEOUT = 30 # seconds diff --git a/python_pkg/screen_locker/workout_log.json b/python_pkg/screen_locker/workout_log.json index 7b624cc..dae29cc 100644 --- a/python_pkg/screen_locker/workout_log.json +++ b/python_pkg/screen_locker/workout_log.json @@ -16,5 +16,11 @@ "workout_data": { "type": "strength" } + }, + "2025-12-01": { + "timestamp": "2025-12-01T11:08:00.578301+00:00", + "workout_data": { + "type": "strength" + } } }