Files
fotkyBuzalkovi/00 PictureCollector/stats.py
T
administrator d62b1a801c notebookVb
2026-05-24 06:55:47 +02:00

49 lines
1.6 KiB
Python

import psycopg2
conn = psycopg2.connect(host="192.168.1.76", port=5432, user="vladimir.buzalka",
password="Vlado7309208104++", database="fotky_buzalkovi")
cur = conn.cursor()
cur.execute("""
SELECT
COUNT(*) AS unikatnich_souboru,
SUM(velikost) AS celkova_velikost,
AVG(velikost) AS prumerna_velikost,
MIN(velikost) AS nejmensi,
MAX(velikost) AS nejvetsi
FROM zaloha_obrazku
""")
z = cur.fetchone()
cur.execute("SELECT COUNT(*), COUNT(DISTINCT hostname) FROM zdrojove_soubory")
s = cur.fetchone()
cur.execute("SELECT hostname, COUNT(*) FROM zdrojove_soubory GROUP BY hostname ORDER BY hostname")
hosts = cur.fetchall()
conn.close()
def fmt(b):
if b is None: return "N/A"
for unit in ("B", "KB", "MB", "GB", "TB"):
if b < 1024: return f"{b:.1f} {unit}"
b /= 1024
return f"{b:.1f} PB"
print("=" * 45)
print(" ZÁLOHA — statistiky")
print("=" * 45)
print(f" Unikátních souborů (záloha): {z[0]:>10,}")
print(f" Celková velikost: {fmt(z[1]):>10}")
print(f" Průměrná velikost: {fmt(z[2]):>10}")
print(f" Nejmenší soubor: {fmt(z[3]):>10}")
print(f" Největší soubor: {fmt(z[4]):>10}")
print()
print(f" Zdrojových záznamů celkem: {s[0]:>10,}")
print(f" Počet zdrojových serverů: {s[1]:>10,}")
print()
print(" Záznamy podle hostname:")
for host, count in hosts:
print(f" {host:<20} {count:>8,} souborů")
print("=" * 45)