mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-10 14:29:15 +00:00
fix dynamic variables in include for #93
This commit is contained in:
@@ -181,6 +181,15 @@ class Cfg:
|
|||||||
|
|
||||||
def _parse(self):
|
def _parse(self):
|
||||||
"""parse config file"""
|
"""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
|
# parse all actions
|
||||||
if self.key_actions in self.content:
|
if self.key_actions in self.content:
|
||||||
if self.content[self.key_actions] is not None:
|
if self.content[self.key_actions] is not None:
|
||||||
@@ -226,10 +235,6 @@ class Cfg:
|
|||||||
# ensures it's an empty list
|
# ensures it's an empty list
|
||||||
v[self.key_profiles_dots] = []
|
v[self.key_profiles_dots] = []
|
||||||
|
|
||||||
# parse the settings
|
|
||||||
self.lnk_settings = self.content[self.key_settings]
|
|
||||||
self._complete_settings()
|
|
||||||
|
|
||||||
# parse the dotfiles
|
# parse the dotfiles
|
||||||
# and construct the dict of objects per dotfile key
|
# and construct the dict of objects per dotfile key
|
||||||
if not self.content[self.key_dotfiles]:
|
if not self.content[self.key_dotfiles]:
|
||||||
@@ -367,11 +372,6 @@ class Cfg:
|
|||||||
self.lnk_settings[self.key_workdir] = \
|
self.lnk_settings[self.key_workdir] = \
|
||||||
self._abs_path(self.curworkdir)
|
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
|
return True
|
||||||
|
|
||||||
def _load_ext_variables(self, paths):
|
def _load_ext_variables(self, paths):
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ variables:
|
|||||||
varx: "exttest"
|
varx: "exttest"
|
||||||
dynvariables:
|
dynvariables:
|
||||||
dvar1: "echo extdvar1"
|
dvar1: "echo extdvar1"
|
||||||
|
evar1: "echo extevar1"
|
||||||
_EOF
|
_EOF
|
||||||
|
|
||||||
# create the dotfile
|
# create the dotfile
|
||||||
@@ -101,6 +102,7 @@ echo "dvar3: {{@@ dvar3 @@}}" >> ${tmps}/dotfiles/abc
|
|||||||
echo "var4: {{@@ var4 @@}}" >> ${tmps}/dotfiles/abc
|
echo "var4: {{@@ var4 @@}}" >> ${tmps}/dotfiles/abc
|
||||||
echo "dvar4: {{@@ dvar4 @@}}" >> ${tmps}/dotfiles/abc
|
echo "dvar4: {{@@ dvar4 @@}}" >> ${tmps}/dotfiles/abc
|
||||||
echo "varx: {{@@ varx @@}}" >> ${tmps}/dotfiles/abc
|
echo "varx: {{@@ varx @@}}" >> ${tmps}/dotfiles/abc
|
||||||
|
echo "evar1: {{@@ evar1 @@}}" >> ${tmps}/dotfiles/abc
|
||||||
|
|
||||||
#cat ${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 '^var4: echo extvar1 var2 var3' ${tmpd}/abc >/dev/null
|
||||||
grep '^dvar4: extvar1 var2 var3' ${tmpd}/abc >/dev/null
|
grep '^dvar4: extvar1 var2 var3' ${tmpd}/abc >/dev/null
|
||||||
grep '^varx: profvarx' ${tmpd}/abc >/dev/null
|
grep '^varx: profvarx' ${tmpd}/abc >/dev/null
|
||||||
|
grep '^evar1: extevar1' ${tmpd}/abc >/dev/null
|
||||||
|
|
||||||
rm -f ${tmpd}/abc
|
rm -f ${tmpd}/abc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user