/
dpavlov
/
datagrid_reporter
Обзор
Документация
Войти
/
dpavlov
/
datagrid_reporter
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
progress.py
22 строки
693 B
Dmitriy Pavlov
progress print
02 июн 2026, 20:32
02 июн 2026, 20:32
8cf0a61
Код
Авторство
О чём код?
import sys import time from datetime import datetime from typing import TextIO class ProgressLogger: def __init__(self, enabled: bool = True, stream: TextIO | None = None): self.enabled = enabled self.stream = stream or sys.stdout self.started_at = time.monotonic() def __call__(self, message: str) -> None: if not self.enabled: return elapsed = time.monotonic() - self.started_at timestamp = datetime.now().isoformat(timespec="seconds") print(f"[{timestamp} +{elapsed:6.1f}s] {message}", file=self.stream, flush=True) def describe_exception(exc: BaseException) -> str: return f"{type(exc).__name__}: {exc}"