simplify config before dumping
This commit is contained in:
parent
fb9a6a8471
commit
9d68c5cd9f
2 changed files with 19 additions and 2 deletions
|
@ -30,6 +30,18 @@ class VersionInfo:
|
||||||
return self._repo_version
|
return self._repo_version
|
||||||
|
|
||||||
|
|
||||||
|
def clean_dict(dictionary: Dict) -> Optional[Dict]:
|
||||||
|
aux = {
|
||||||
|
k: clean_dict(v) for k, v in dictionary.items() if type(v) == dict
|
||||||
|
} | {
|
||||||
|
k: v for k, v in dictionary.items() if type(v) != dict
|
||||||
|
}
|
||||||
|
aux2 = {
|
||||||
|
k: v for k, v in aux.items() if v is not None
|
||||||
|
}
|
||||||
|
return aux2 if aux2 != {} else None
|
||||||
|
|
||||||
|
|
||||||
class FormattingConfig(Config):
|
class FormattingConfig(Config):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._naming_scheme: Optional[Union[NamingScheme, str]] = None
|
self._naming_scheme: Optional[Union[NamingScheme, str]] = None
|
||||||
|
@ -80,7 +92,11 @@ class FormattingConfig(Config):
|
||||||
|
|
||||||
def dump_as_yaml(self, filename: Path):
|
def dump_as_yaml(self, filename: Path):
|
||||||
with filename.open('w') as file:
|
with filename.open('w') as file:
|
||||||
yaml.dump(self.to_json(), file)
|
simple_dict = clean_dict(self.to_json())
|
||||||
|
if simple_dict is not None:
|
||||||
|
yaml.dump(simple_dict, file)
|
||||||
|
else:
|
||||||
|
pass # TODO
|
||||||
|
|
||||||
def to_json(self) -> Dict:
|
def to_json(self) -> Dict:
|
||||||
return {
|
return {
|
||||||
|
|
3
main.py
3
main.py
|
@ -53,8 +53,9 @@ config: FormattingConfig = FormattingConfig()
|
||||||
|
|
||||||
dump = config.to_json()
|
dump = config.to_json()
|
||||||
|
|
||||||
|
config.naming_scheme = 'prepend-author'
|
||||||
|
|
||||||
config.dump_as_yaml(Path('test.yaml'))
|
config.dump_as_yaml(Path('test.yaml'))
|
||||||
|
|
||||||
|
|
||||||
config.naming_scheme = 'prepend-author'
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue