import configparser import os from pathlib import Path from typing import Dict # We read a configuration file for university setup that is located # in $XDG_CONFIG_HOME/university-setup/config.cfg # We follow standard configparser procedure def get_config_file(): if 'XDG_CONFIG_HOME' in os.environ.keys(): xdg_config_home = Path(os.environ['XDG_CONFIG_HOME']).resolve() else: xdg_config_home = Path('~/.config').resolve() return xdg_config_home / 'university-setup' / 'config.cfg' def get_config(section_name: str = 'Subprocess') -> Dict: parser = configparser.RawConfigParser() parser.read(get_config_file()) if section_name in parser: return dict(parser[section_name]) else: return {} def terminal() -> str: d = get_config('Subprocess') if 'terminal' in d.keys(): return d['terminal'] else: return 'i3-sensible-terminal'