diff --git a/dotdrop/cfg_yaml.py b/dotdrop/cfg_yaml.py index 6f7afc6..3ab663e 100644 --- a/dotdrop/cfg_yaml.py +++ b/dotdrop/cfg_yaml.py @@ -58,7 +58,7 @@ class CfgYaml: key_import_variables = 'import_variables' key_import_profile_dfs = 'import' key_import_sep = ':' - key_import_ignore_key = 'ignore' + key_import_ignore_key = 'optional' # settings key_settings_dotpath = 'dotpath' @@ -567,10 +567,11 @@ class CfgYaml: """normalize imported path and its attribute if any""" fields = path.split(self.key_import_sep) fatal_not_found = True - if len(fields) > 1: - if fields[1] == self.key_import_ignore_key: - fatal_not_found = False - return self._norm_path(fields[0]), fatal_not_found + filepath = path + if len(fields) > 1 and fields[-1] == self.key_import_ignore_key: + fatal_not_found = False + filepath = ''.join(fields[:-1]) + return self._norm_path(filepath), fatal_not_found def _import_actions(self): """import external actions from paths""" diff --git a/tests-ng/import-non-existing.sh b/tests-ng/import-non-existing.sh index 0d600b9..ed57f0c 100755 --- a/tests-ng/import-non-existing.sh +++ b/tests-ng/import-non-existing.sh @@ -63,11 +63,14 @@ config: create: true dotpath: dotfiles import_variables: - - /variables/does/not/exist:ignore + - /variables/does/not/exist:optional + - /variables/does/not/::exist:optional import_actions: - - /actions/does/not/exist:ignore + - /actions/does/not/exist:optional + - /actions/does/not/::exist:optional import_configs: - - /configs/does/not/exist:ignore + - /configs/does/not/exist:optional + - /configs/does/not/::exist:optional dotfiles: f_abc: dst: ${tmpd}/abc