summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kocialkowski2024-04-05 21:45:35 +0200
committerPaul Kocialkowski2024-04-05 21:45:55 +0200
commite9f7fa6b7efebde0d62fb42671563399b0b82e26 (patch)
tree7c0e35089aec9e7c27ce59afcee371e5ec3a57e1
parent673a9e1f3df1075fb8a0f842995618b35b9b5480 (diff)
host-control: Support reading hosts from dedicated path
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rwxr-xr-xhost-control21
1 files changed, 18 insertions, 3 deletions
diff --git a/host-control b/host-control
index 4fb6014..f337bf1 100755
--- a/host-control
+++ b/host-control
@@ -7,9 +7,11 @@ import socket
import subprocess
import yaml
-data_path_base = ".config/host-control.yaml"
+config_base = ".config/host-control"
+config_path = os.path.join(config_base, "host-control.yaml")
class host_control():
+ hosts = [ ]
host = None
verbose = False
interactive = True
@@ -483,7 +485,7 @@ class host_control():
user = os.environ["USER"]
data_path_user = os.path.expanduser("~" + user)
- data_path = os.path.join(data_path_user, data_path_base)
+ data_path = os.path.join(data_path_user, config_path)
s = open(data_path, "r")
y = yaml.load(s, Loader = yaml.SafeLoader)
@@ -491,7 +493,20 @@ class host_control():
self.hostname = socket.gethostname()
self.config = y["config"]
- self.hosts = y["hosts"]
+
+ self.hosts = [ ]
+
+ for host in y["hosts"]:
+ if "path" in host:
+ data_path = os.path.join(data_path_user, config_base)
+ data_path = os.path.join(data_path, host["path"])
+ s = open(data_path, "r")
+ y = yaml.load(s, Loader = yaml.SafeLoader)
+ s.close()
+
+ self.hosts.append(y)
+ else:
+ self.hosts.append(host)
def main(self):
action = None