1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-08 13:09:17 +00:00

Reporting unsupported recursive globs in import_configs

This commit is contained in:
Davide Laezza
2019-04-22 18:05:22 +02:00
parent c185305aed
commit 3c9f0040a3

View File

@@ -9,6 +9,7 @@ import inspect
import itertools import itertools
import os import os
import shlex import shlex
from functools import partial
from glob import iglob from glob import iglob
import yaml import yaml
@@ -282,11 +283,29 @@ class Cfg:
except KeyError: except KeyError:
pass pass
# parse external profiles # parse external configs
try: try:
ext_configs = self.lnk_settings[self.key_import_configs] or () ext_configs = self.lnk_settings[self.key_import_configs] or ()
try:
iglob('./*', recursive=True)
find_glob = partial(iglob, recursive=True)
except TypeError:
from platform import python_version
msg = ('Recursive globbing is not available on Python {}: '
.format(python_version()))
if any('**' in config for config in ext_configs):
msg += "import_configs won't work"
self.log.err(msg)
return False
msg = 'upgrade to version >3.5 if you want to use this feature'
self.log.warn(msg)
find_glob = iglob
ext_configs = itertools.chain.from_iterable( ext_configs = itertools.chain.from_iterable(
iglob(self._abs_path(config), recursive=True) find_glob(self._abs_path(config))
for config in ext_configs for config in ext_configs
) )
for config in ext_configs: for config in ext_configs: