1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-09 03:39:15 +00:00

adding dynamic/interpreted template variables

This commit is contained in:
deadc0de6
2018-11-15 23:25:42 +01:00
parent 3af31cc5f2
commit 4d0a1a798a
4 changed files with 180 additions and 23 deletions

View File

@@ -13,6 +13,7 @@ import shlex
from dotdrop.dotfile import Dotfile
from dotdrop.logger import Logger
from dotdrop.action import Action, Transform
from dotdrop.utils import *
TILD = '~'
@@ -44,6 +45,8 @@ class Cfg:
# template variables
key_variables = 'variables'
# shell variable
key_dynvariables = 'dynvariables'
# dotfiles keys
key_dotfiles = 'dotfiles'
@@ -521,9 +524,15 @@ class Cfg:
return self.lnk_settings.copy()
def get_variables(self):
variables = {}
if self.key_variables in self.content:
return self.content[self.key_variables]
return {}
variables.update(self.content[self.key_variables])
if self.key_dynvariables in self.content:
# interpret dynamic variables
dynvars = self.content[self.key_dynvariables]
for key, cmd in dynvars.items():
variables[key] = shell(cmd)
return variables
def dump(self):
"""return a dump of the config"""