docs: подробные docstring перед каждой функцией

This commit is contained in:
Repinoid
2026-06-06 07:22:35 +04:00
parent 0de7e0591c
commit 8da4876cb8
5 changed files with 11 additions and 2 deletions
+3
View File
@@ -28,13 +28,16 @@ class Database:
self._init_schema()
def __enter__(self):
"""Контекстный менеджер: with Database() as db."""
return self
def __exit__(self, exc_type, exc_val, exc_tb):
"""Закрытие соединения при выходе из with-блока."""
self.close()
return False
def close(self):
"""Закрыть соединение с SQLite."""
if self.conn:
self.conn.close()
self.conn = None
+1
View File
@@ -19,6 +19,7 @@ _DTC_PATH = Path(__file__).parent.parent / "doc" / "dtc_codes.txt"
def _load_dtc_dict() -> dict[str, str]:
"""Загрузить справочник DTC-кодов из doc/dtc_codes.txt."""
global _DTC_CODES
if _DTC_CODES:
return _DTC_CODES
+2 -1
View File
@@ -180,6 +180,7 @@ class AndrOBD:
return raw
def _recover(self):
"""Восстановление после ошибки: ATWS → ATSP0 → ATE0."""
"""Восстановление после ошибки: ATWS → ATSP0 → ATE0."""
logger.info("AndrOBD: recovering...")
self._state = State.INITIALIZING
@@ -192,7 +193,7 @@ class AndrOBD:
self._state = State.READY
def _write(self, cmd: str):
"""Отправить команду в ELM327 (добавляет CR, flush)."""
"""Отправить команду в ELM327: сброс буфера → write + CR flush."""
self._ser.reset_input_buffer() # сбросить хвосты предыдущего ответа
self._ser.write((cmd + "\r").encode())
self._ser.flush()
+1 -1
View File
@@ -51,7 +51,7 @@ class Rsp:
@classmethod
def identify(cls, raw: str) -> str:
"""Определяет тип ответа по сырой строке."""
"""Определяет тип ответа ELM327 по сырой строке."""
u = raw.upper().strip()
# NO DATA бывает как "NODATA" так и "NO DATA"
if u.replace(" ", "") == "NODATA":
+4
View File
@@ -21,6 +21,7 @@ class AdaptiveTiming:
RES = 4 # делитель для ATST
def __init__(self):
"""Начальный таймаут = DEFAULT."""
self._t = self.DEFAULT
self._min = self.MIN
@@ -35,15 +36,18 @@ class AdaptiveTiming:
return max(1, self._t // self.RES)
def increase(self):
"""Увеличить таймаут на STEP (ЭБУ медленно отвечает)."""
"""Увеличить таймаут (ЭБУ медленно отвечает)."""
if self._t + self.STEP < self.MAX:
self._t += self.STEP
def decrease(self):
"""Уменьшить таймаут на STEP (ЭБУ отвечает быстро)."""
"""Уменьшить таймаут (ЭБУ отвечает быстро)."""
if self._t - self.STEP >= self._min:
self._t -= self.STEP
def reset(self):
"""Сброс до DEFAULT (после BUS ERROR / инициализации)."""
"""Сбросить до DEFAULT (после BUS ERROR)."""
self._t = self.DEFAULT