Browse Source

Allow disabling configuration without removing it

Nathaniel van Diepen 4 years ago
parent
commit
27f80e6950
2 changed files with 9 additions and 7 deletions
  1. 7 6
      backup.py
  2. 2 1
      etc/backup.d/sources.d/example.yml

+ 7 - 6
backup.py

@@ -94,14 +94,15 @@ def main(args):
                 path = os.path.realpath(path)
                 with pushd(os.path.dirname(path)), open(path) as f:
                     data = yaml.load(f)
-                    if "depends" not in data:
-                        data["depends"] = []
+                    if "active" in data and data["active"]:
+                        if "depends" not in data:
+                            data["depends"] = []
 
-                    for i in range(0, len(data["depends"])):
-                        data["depends"][i] = os.path.realpath(
-                                '{}.yml'.format(data["depends"][i]))
+                        for i in range(0, len(data["depends"])):
+                            data["depends"][i] = os.path.realpath(
+                                    '{}.yml'.format(data["depends"][i]))
 
-                    sources[path] = data
+                        sources[path] = data
 
     main.sources = sources
     main.deptree = deptree(sources)

+ 2 - 1
etc/backup.d/sources.d/example.yml

@@ -1,8 +1,9 @@
 ---
+active: false
 depends:
   - something
 roots:
-  from: ssh.host::
+  from: "ssh.host::"
   to: /backups
 jobs:
   - from: /var/www