From d8ddde1afa9f6be03eaaabe61291c118f945f117 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 25 Jun 2018 13:38:26 -0400 Subject: [PATCH] Feed comamnds through via partial application --- libremanage.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libremanage.py b/libremanage.py index 9bfacfc..bab34b1 100644 --- a/libremanage.py +++ b/libremanage.py @@ -18,6 +18,7 @@ along with this program. If not, see . """ import sys +import functools USAGE = """ Usage: @@ -40,7 +41,21 @@ if len(sys.argv) != 3: print(USAGE) sys.exit(1) +def get_server_handle(name): + # TODO: resolve based on config, SSH in, give self-contained handle? + return name + +def set_server_power(state, server): + print("Setting server " + server + " to power state " + str(state)) + +COMMANDS = { + "shutdown": functools.partial(set_server_power, 0), + "poweron": functools.partial(set_server_power, 1), +} + def issue_command(server_name, command): + server = get_server_handle(server_name) print(server_name, command) + COMMANDS[command](server_name) issue_command(sys.argv[1], sys.argv[2]) -- 2.25.1