Numéroter les zones après tri, lire le journal par la fin et corriger l'aide -g

This commit is contained in:
Antoine Jacquin
2026-09-18 21:24:57 +02:00
parent f3708f8449
commit 91d31bcdf9
4 changed files with 28 additions and 20 deletions

View File

@ -1129,10 +1129,20 @@ def rebuild_status():
def _tail_log(n_lines):
"""Dernières lignes du journal — lecture depuis la fin uniquement.
Le journal peut atteindre plusieurs Mo et /api/status est sondé toutes
les ~2 s par l'interface : relire tout le fichier à chaque sondage
coûte cher, surtout sur Raspberry Pi.
"""
try:
lines = LOG_FILE.read_text(encoding="utf-8", errors="replace").splitlines()
return lines[-n_lines:]
except Exception:
with open(LOG_FILE, "rb") as fh:
fh.seek(0, os.SEEK_END)
size = fh.tell()
fh.seek(max(0, size - 64 * 1024))
chunk = fh.read().decode("utf-8", errors="replace")
return chunk.splitlines()[-n_lines:]
except OSError:
return []