#!/usr/bin/env python3
import os
import subprocess

# execute './switchconf.sh --list' to get the list of available configurations
output = subprocess.check_output(['bash', './switchconf.sh', '--list']).decode('utf-8').splitlines()

# read symlink './sdkconfig' to get the current configuration
current_config = os.readlink('./sdkconfig').split('sdkconfig_')[1]

if len(output) == 0:
    print('No configurations found!')
    exit(1)

# check if PATH (env) contains 'bobbycar-boardcomputer-firmware
if 'bobbycar-boardcomputer-firmware' not in os.environ['PATH']:
    print('Please execute ". export.sh"')
    exit(1)

for config in output:
    print('Switching to configuration: ' + config)
    subprocess.check_call(['bash', './switchconf.sh', config])
    # execute idf.py menuconfig and wait for user to close again
    subprocess.check_call(['idf.py', 'menuconfig'])

# switch back to current configuration
print('Switching back to configuration: ' + current_config)
subprocess.check_call(['bash', './switchconf.sh', current_config])
