mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-05 05:04:43 +00:00
Adding globbing functionality for import_configs
This commit is contained in:
@@ -6,8 +6,10 @@ yaml config file manager
|
||||
"""
|
||||
|
||||
import inspect
|
||||
import itertools
|
||||
import os
|
||||
import shlex
|
||||
from glob import iglob
|
||||
|
||||
import yaml
|
||||
|
||||
@@ -268,6 +270,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:
|
||||
@@ -447,7 +453,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))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user