1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-04 18:34:48 +00:00

fix dynamic variables in include for #93

This commit is contained in:
deadc0de6
2019-03-03 13:55:21 +01:00
parent 5cd2616b17
commit b592fc8448
2 changed files with 12 additions and 9 deletions

View File

@@ -181,6 +181,15 @@ class Cfg:
def _parse(self):
"""parse config file"""
# parse the settings
self.lnk_settings = self.content[self.key_settings]
self._complete_settings()
# load external variables/dynvariables
if self.key_include_vars in self.lnk_settings:
paths = self.lnk_settings[self.key_include_vars]
self._load_ext_variables(paths)
# parse all actions
if self.key_actions in self.content:
if self.content[self.key_actions] is not None:
@@ -226,10 +235,6 @@ class Cfg:
# ensures it's an empty list
v[self.key_profiles_dots] = []
# parse the settings
self.lnk_settings = self.content[self.key_settings]
self._complete_settings()
# parse the dotfiles
# and construct the dict of objects per dotfile key
if not self.content[self.key_dotfiles]:
@@ -367,11 +372,6 @@ class Cfg:
self.lnk_settings[self.key_workdir] = \
self._abs_path(self.curworkdir)
# load external variables/dynvariables
if self.key_include_vars in self.lnk_settings:
paths = self.lnk_settings[self.key_include_vars]
self._load_ext_variables(paths)
return True
def _load_ext_variables(self, paths):

View File

@@ -93,6 +93,7 @@ variables:
varx: "exttest"
dynvariables:
dvar1: "echo extdvar1"
evar1: "echo extevar1"
_EOF
# create the dotfile
@@ -101,6 +102,7 @@ echo "dvar3: {{@@ dvar3 @@}}" >> ${tmps}/dotfiles/abc
echo "var4: {{@@ var4 @@}}" >> ${tmps}/dotfiles/abc
echo "dvar4: {{@@ dvar4 @@}}" >> ${tmps}/dotfiles/abc
echo "varx: {{@@ varx @@}}" >> ${tmps}/dotfiles/abc
echo "evar1: {{@@ evar1 @@}}" >> ${tmps}/dotfiles/abc
#cat ${tmps}/dotfiles/abc
@@ -114,6 +116,7 @@ grep '^dvar3: extdvar1 dvar2 dvar3' ${tmpd}/abc >/dev/null
grep '^var4: echo extvar1 var2 var3' ${tmpd}/abc >/dev/null
grep '^dvar4: extvar1 var2 var3' ${tmpd}/abc >/dev/null
grep '^varx: profvarx' ${tmpd}/abc >/dev/null
grep '^evar1: extevar1' ${tmpd}/abc >/dev/null
rm -f ${tmpd}/abc