#!/usr/bin/env python from pathlib import Path import subprocess import sys import yaml def check_ping_reachable(ip): try: subprocess.check_call(['ping', '-c2', '-W1', ip], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) return True except subprocess.CalledProcessError: return False def main(): config = yaml.safe_load(open(Path('~/.config/i3-vpn.json').expanduser())) results = [] for check in config['checks']: if check_ping_reachable(check['ip']): results.append(check['icon']) print(' '.join(results)) if __name__ == '__main__': sys.exit(main())