#!/usr/bin/env python3
"""Сортировка бэкапов D:\\irelyinstall\\backup по столбцу даты (не по имени файла)."""
import re
from datetime import datetime

SRC = "/root/.hermes/profiles/irelydata/pastes/paste_1_133330.txt"

rows = []
pat = re.compile(r"^(\d{2}/\d{2}/\d{4})\s+(\d{2}:\d{2}\s+[AP]M)\s+([\d,]+)\s+(.+?)\s*$")

with open(SRC, "r", encoding="utf-8", errors="replace") as f:
    for line in f:
        m = pat.match(line.rstrip("\n"))
        if not m:
            continue
        d, t, size, name = m.groups()
        if "<DIR>" in size:
            continue
        dt = datetime.strptime(f"{d} {t}", "%m/%d/%Y %I:%M %p")
        rows.append((dt, int(size.replace(",", "")), name))

# Сортировка строго по дате из столбца, от старых к новым
rows.sort(key=lambda r: r[0])

total = sum(r[1] for r in rows)
print(f"Всего файлов: {len(rows)}, суммарный размер: {total:,} bytes ({total/1024**3:.1f} GB)")
print()
print(f"{'#':>3}  {'Дата (столбец)':<17}  {'Размер':>22}  GB      Имя файла")
print("-" * 130)
for i, (dt, size, name) in enumerate(rows, 1):
    print(f"{i:>3}  {dt.strftime('%Y-%m-%d %H:%M'):<17}  {size:>22,}  {size/1024**3:>6.1f}  {name}")
