1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-05 09:43:49 +00:00

Adding globbing functionality for import_configs

This commit is contained in:
Davide Laezza
2019-04-22 15:21:23 +02:00
parent 9925ec3928
commit 2949feaefd
2 changed files with 8 additions and 2 deletions

View File

@@ -6,8 +6,10 @@ yaml config file manager
"""
import inspect
import itertools
import os
import shlex
from glob import iglob
import yaml
@@ -283,6 +285,10 @@ class Cfg:
# parse external profiles
try:
ext_configs = self.lnk_settings[self.key_import_configs] or ()
ext_configs = itertools.chain.from_iterable(
iglob(self._abs_path(config), recursive=True)
for config in ext_configs
)
for config in ext_configs:
self._merge_cfg(config)
except KeyError:
@@ -469,7 +475,7 @@ class Cfg:
def _merge_cfg(self, config_path):
# Parsing external config file
try:
ext_config = Cfg(self._abs_path(config_path))
ext_config = Cfg(config_path)
except ValueError:
raise ValueError(
'external config file not found: {}'.format(config_path))

View File

@@ -305,7 +305,7 @@ profiles:
# create the importing base config file
importing_path = create_fake_config(tmp,
configname=self.CONFIG_NAME,
import_configs=(imported_path,),
import_configs=('config-*.yaml',),
**importing['config'])
# edit the imported config