summaryrefslogtreecommitdiff
path: root/dotbot/plugins/clean.py
diff options
context:
space:
mode:
authorAnish Athalye <me@anishathalye.com>2019-12-31 14:47:32 -0500
committerAnish Athalye <me@anishathalye.com>2019-12-31 14:47:32 -0500
commit81f0d7495518a1fe441343024f2320c95eff86b4 (patch)
treedb8b2a0dcc664f660cbc0898efb7956eeb130408 /dotbot/plugins/clean.py
parenta7bfce3e231d8ce83a7425a13bef692f5162b5be (diff)
Fix clean not respecting defaults
Previously, clean read the defaults once, and then it updated the setting for each entry it read. This resulted in the defaults being clobbered and then not being respected for subsequent entries. This patch fixes the issue by re-reading the defaults before processing each item. The other plugins (link, shell) do not have this problem.
Diffstat (limited to 'dotbot/plugins/clean.py')
-rw-r--r--dotbot/plugins/clean.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/dotbot/plugins/clean.py b/dotbot/plugins/clean.py
index 22c975e..89251b9 100644
--- a/dotbot/plugins/clean.py
+++ b/dotbot/plugins/clean.py
@@ -18,9 +18,9 @@ class Clean(dotbot.Plugin):
def _process_clean(self, targets):
success = True
defaults = self._context.defaults().get(self._directive, {})
- force = defaults.get('force', False)
for target in targets:
- if isinstance(targets, dict):
+ force = defaults.get('force', False)
+ if isinstance(targets, dict) and isinstance(targets[target], dict):
force = targets[target].get('force', force)
success &= self._clean(target, force)
if success: