#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import argparse
import os
import sys
import subprocess
import configparser

CURRENT_PATH = os.path.dirname(os.path.realpath(__file__))
DESKTOP = '/usr/share/applications/slimbookbattery.desktop'
if not os.path.exists(DESKTOP):
    DESKTOP = os.path.join(CURRENT_PATH, '../slimbookbattery.desktop')
TLP = "/usr/bin/tlp"
TLP2 = "/usr/sbin/tlp"


def main():
    parser = argparse.ArgumentParser(
        description='Slimbook Battery Commandline Interface:\n'
                    'For support go to: https://github.com/slimbook/slimbookbattery'
    )
    parser.add_argument('-v', '--version', action='store_true', help='application version')
    parser.add_argument('--minimize', action='store_true', help='start minimized')

    args = parser.parse_args()
    if args.version:
        version = 'Unknown'
        if os.path.isfile(DESKTOP):
            config = configparser.ConfigParser()
            config.read(DESKTOP)
            if config.has_option('Desktop Entry', 'Version'):
                version = config.get('Desktop Entry', 'Version')

        sys.stdout.write('Slimbook Battery {}\n'.format(version))
        exit(0)

    if not (os.path.exists(TLP) or os.path.exists(TLP2)):
        sys.stderr.write("Slimbook Battery requires TLP\n")
        exit(1)

    pgrep = subprocess.getoutput("pgrep -f slimbookbatterypreferences")
    num_proc_running = pgrep.split('\n')
    if len(num_proc_running) > 1:
        sys.stdout.write("Slimbook Battery is in execution\n")
    elif args.minimize:
        subprocess.run(['/usr/bin/env', 'python3', '/usr/share/slimbookbattery/src/slimbookbatteryindicator.py'])
    else:
        subprocess.run(['/usr/bin/env', 'python3', '/usr/share/slimbookbattery/src/slimbookbatterypreferences.py'])

if __name__ == "__main__":
    main()
