import configparser class Config: def generate_config(self): print('config: generating configuration file') self.config = configparser.ConfigParser() self.config['trigger'] = { 'active': '$rtex', 'raw': '$rawtex', 'equation': ';;', 'command': '$' } self.config['packages'] = [ 'xcolor', 'amsmath' ] self.config['package_code'] = '\\usepackage{@PKG_NAME}' self.config['precode'] = [ '\\documentclass{article}', '@INC_PKGS', '\\begin{document}', '\\color{gray}' ] self.config['postcode'] = [ '\\pagenumbering{gobble}', '\\end{document}' ] self.config['login'] = { 'type': 'user', 'token': 'Token goes here' } self.write_config() def write_config(self): print('config: updating configuration file') with open('config.ini', 'w') as cf: self.config.write(cf) print('config: written, syncing internal config representation') self.read_config() def read_config(self): print('config: updating internal config from file') self.config.read('config.ini') def watch_config(self): print('config: setting up file watcher')