|
27 | 27 | 'h2': [['bold', 'underline'], '', ''],
|
28 | 28 | 'h': [['bold', 'underline'], '', '']
|
29 | 29 | }
|
30 |
| -colors = defcolors |
31 |
| -if os.path.exists(configpath + '/colors.json'): |
32 |
| - with open(configpath + '/colors.json') as file: |
33 |
| - # Use colors in colors.json, with defaults as fallbacks |
34 |
| - colors.insert(json.load(file)) |
| 30 | +if os.path.exists(configpath + '/colors'): |
| 31 | + colorsconf = configparser.ConfigParser() |
| 32 | + colors = {} |
| 33 | + colorsconf.read(configpath + '/colors') |
| 34 | + for name, (defsettings, deffgcolor, defbgcolor) in defcolors.items(): |
| 35 | + try: |
| 36 | + settings = colorsconf.get(name, 'settings').split() |
| 37 | + except (configparser.NoSectionError, configparser.NoOptionError): |
| 38 | + settings = defsettings |
| 39 | + fgcolor = colorsconf.get(name, 'fgcolor', fallback=deffgcolor) |
| 40 | + bgcolor = colorsconf.get(name, 'bgcolor', fallback=defbgcolor) |
| 41 | + colors[name] = [settings, fgcolor, bgcolor] |
| 42 | +else: |
| 43 | + colors = defcolors |
| 44 | + |
| 45 | +def dumpColors(): |
| 46 | + colorsconf = configparser.ConfigParser() |
| 47 | + for name, (settings, fgcolor, bgcolor) in colors.items(): |
| 48 | + colorsconf.add_section(name) |
| 49 | + colorsconf.set(name, 'settings', ' '.join(settings)) |
| 50 | + colorsconf.set(name, 'fgcolor', fgcolor) |
| 51 | + colorsconf.set(name, 'bgcolor', bgcolor) |
| 52 | + with open(configpath + '/colors', 'w') as file: |
| 53 | + colorsconf.write(file) |
35 | 54 |
|
36 | 55 | class Settings:
|
37 | 56 |
|
|
0 commit comments