summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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