Add separate package with file formatters.

This commit is contained in:
Joey de l'Arago 2022-11-23 17:19:14 +01:00
parent ad436f37f8
commit b6ac85d251
4 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,21 @@
import configparser
import json
import re
from collections import OrderedDict
from pathlib import Path
from .formatter import FileFormatter
class InstCfgFormatter(FileFormatter):
def format(self, file: Path):
""" Format .inst.cfg files according to the rules in settings """
config = configparser.ConfigParser()
config.read(file)
if self._settings["format"].get("format-profile-sort-keys", True):
for section in config._sections:
config._sections[section] = OrderedDict(sorted(config._sections[section].items(), key=lambda t: t[0]))
config._sections = OrderedDict(sorted(config._sections.items(), key=lambda t: t[0]))
with open(file, "w") as f:
config.write(f, space_around_delimiters=self._settings["format"].get("format-profile-space-around-delimiters", True))