summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2021-03-29 13:42:43 +0200
committerOpenGnSys Support Team <soporte-og@soleta.eu>2021-03-29 13:47:18 +0200
commitbe84b0a15ce5d0ada0ac1613085420b8af206efb (patch)
treeb640ca1f775569915cd21b09dac65e6e11478366
parent565e798ef9622486e9a11382085caf1e9c465241 (diff)
Add utils.py
Move auxiliary code that will be used by several objects. In this case, scope filtering and searching by id is going to be used by 'send wol' too. Avoid duplicating this code creating utils.py
-rw-r--r--cli/objects/modes.py20
-rw-r--r--cli/utils.py24
2 files changed, 24 insertions, 20 deletions
diff --git a/cli/objects/modes.py b/cli/objects/modes.py
index e172570..8ede3c8 100644
--- a/cli/objects/modes.py
+++ b/cli/objects/modes.py
@@ -42,26 +42,6 @@ class OgModes():
help='Boot mode to be set')
parsed_args = parser.parse_args(args)
- def scope_lookup(scope_id, scope_type, d):
- if scope_id == d.get('id') and \
- scope_type == d.get('type'):
- return d
- for scope in d['scope']:
- lookup = scope_lookup(scope_id,
- scope_type,
- scope)
- if lookup is not None:
- return lookup
- return None
-
- def ips_in_scope(scope):
- if 'ip' in scope:
- return [scope['ip']]
- ips = []
- for child in scope['scope']:
- ips += ips_in_scope(child)
- return ips
-
r = rest.get('/scopes')
scopes = r.json()
ips = set()
diff --git a/cli/utils.py b/cli/utils.py
new file mode 100644
index 0000000..f72693c
--- /dev/null
+++ b/cli/utils.py
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2020 Soleta Networks <info@soleta.eu>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the
+# Free Software Foundation, version 3.
+#
+
+def scope_lookup_id(scope_id, scope_type, d):
+ if scope_id == d.get('id') and scope_type == d.get('type'):
+ return d
+ for scope in d['scope']:
+ lookup = scope_lookup(scope_id, scope_type, scope)
+ if lookup is not None:
+ return lookup
+ return None
+
+def ips_in_scope(scope):
+ if 'ip' in scope:
+ return [scope['ip']]
+ ips = []
+ for child in scope['scope']:
+ ips += ips_in_scope(child)
+ return ips