#!/usr/bin/env python3

from transmission_rpc import Client

c = Client(host='127.0.0.1', port=${rpc_port})
torrents = c.get_torrents()

total_progress = 0
total_available = 0
total_upload = 0
total_download = 0

for torrent in torrents:
    name = torrent.name.replace(' ', '\\ ')
    print(f'transmission,type=detail,name={name} percent_done={torrent.progress}')
    print(f'transmission,type=detail,name={name} percent_avail={torrent.available}')
    print(f'transmission,type=detail,name={name} ratio={torrent.ratio}')
    print(f'transmission,type=detail,name={name} size={torrent.total_size}')
    print(f'transmission,type=detail,name={name} upload={torrent.rateUpload}')
    print(f'transmission,type=detail,name={name} download={torrent.rateDownload}')

    total_progress += torrent.progress
    total_available += torrent.available
    total_upload += torrent.rateUpload
    total_download += torrent.rateDownload

total_progress_pct = round((total_progress/(len(torrents)*100))*100, 3)
total_available_pct = round((total_available/(len(torrents)*100))*100, 3)

print(f'transmission,type=global num_torrents={len(torrents)}')
print(f'transmission,type=global percent_done={total_progress_pct}')
print(f'transmission,type=global percent_avail={total_available_pct}')
print(f'transmission,type=global upload={total_upload}')
print(f'transmission,type=global download={total_download}')
