mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-10 23:44:16 +00:00
Adding globbing functionality for import_configs
This commit is contained in:
@@ -6,8 +6,10 @@ yaml config file manager
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import inspect
|
import inspect
|
||||||
|
import itertools
|
||||||
import os
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
|
from glob import iglob
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
@@ -283,6 +285,10 @@ class Cfg:
|
|||||||
# parse external profiles
|
# parse external profiles
|
||||||
try:
|
try:
|
||||||
ext_configs = self.lnk_settings[self.key_import_configs] or ()
|
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:
|
for config in ext_configs:
|
||||||
self._merge_cfg(config)
|
self._merge_cfg(config)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@@ -469,7 +475,7 @@ class Cfg:
|
|||||||
def _merge_cfg(self, config_path):
|
def _merge_cfg(self, config_path):
|
||||||
# Parsing external config file
|
# Parsing external config file
|
||||||
try:
|
try:
|
||||||
ext_config = Cfg(self._abs_path(config_path))
|
ext_config = Cfg(config_path)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
'external config file not found: {}'.format(config_path))
|
'external config file not found: {}'.format(config_path))
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ profiles:
|
|||||||
# create the importing base config file
|
# create the importing base config file
|
||||||
importing_path = create_fake_config(tmp,
|
importing_path = create_fake_config(tmp,
|
||||||
configname=self.CONFIG_NAME,
|
configname=self.CONFIG_NAME,
|
||||||
import_configs=(imported_path,),
|
import_configs=('config-*.yaml',),
|
||||||
**importing['config'])
|
**importing['config'])
|
||||||
|
|
||||||
# edit the imported config
|
# edit the imported config
|
||||||
|
|||||||
Reference in New Issue
Block a user