#!/usr/bin/env python3

from os import listdir
from os.path import join
from sys import exit, stderr

try:
    for power_supply in listdir('/sys/class/power_supply/'):
        if power_supply.startswith('BAT'):
            out = {}

            for measurement in {
                'capacity',
                'cycle_count',
                'energy_full',
                'energy_full_design',
                'energy_now',
                'power_now',
                'voltage_now',
            }:
                try:
                    with open(join('/sys/class/power_supply', power_supply, measurement)) as f:
                        out[measurement] = f.read().splitlines()[0].strip()
                except Exception as e:
                    print(repr(e), file=stderr)

            print('battery,name={} {}'.format(
                power_supply,
                ','.join([f'{k}={v}' for k, v in sorted(out.items())]),
            ))
except Exception as e:
    print(repr(e), file=stderr)
    exit(1)
