From 672d8c63a7648a3e72fae04e158133add75bd8d9 Mon Sep 17 00:00:00 2001 From: deadc0de6 Date: Sun, 31 Mar 2019 23:16:08 +0200 Subject: [PATCH] fix installing directory dotfile --- dotdrop/installer.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dotdrop/installer.py b/dotdrop/installer.py index 203ef35..574c1e4 100644 --- a/dotdrop/installer.py +++ b/dotdrop/installer.py @@ -273,7 +273,8 @@ class Installer: if self.debug: self.log.dbg('install dir {}'.format(src)) self.log.dbg('ignore empty: {}'.format(noempty)) - ret = True, None + # default to nothing installed and no error + ret = False, None if not self._create_dirs(dst): err = 'creating directory for {}'.format(dst) return False, err @@ -281,21 +282,31 @@ class Installer: for entry in os.listdir(src): f = os.path.join(src, entry) if not os.path.isdir(f): + # is file res, err = self._handle_file(templater, f, os.path.join(dst, entry), actions=actions, noempty=noempty) if not res and err: + # error occured ret = res, err break + elif res: + # something got installed + ret = True, None else: + # is directory res, err = self._handle_dir(templater, f, os.path.join(dst, entry), actions=actions, noempty=noempty) if not res and err: + # error occured ret = res, err break + elif res: + # something got installed + ret = True, None return ret def _fake_diff(self, dst, content):