summaryrefslogtreecommitdiffstats
path: root/fuel/prototypes/auto-deploy/deploy/dha-adapters/dhaParse.py
blob: d2712c6d75d16c591651084d2bde19bfc2995c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/python
##############################################################################
# Copyright (c) 2015 Ericsson AB and others.
# stefan.k.berg@ericsson.com
# jonas.bjurel@ericsson.com
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

import yaml
import re
import sys
import os

def test(arr):
    print "Nodes"
    nodes = doc["nodes"]
    for node in nodes:
        print "Node %d " % node["id"]
        print "  Mac: %s" % node["adminMac"]
        print "  Role: %s" % node["role"]

def get(arg):
    try:
        if doc[arg[0]]:
            print doc[arg[0]]
        else:
            print ""
    except KeyError:
        print ""

def getNodes(arg):
    for node in doc["nodes"]:
        print node["id"]

# Get property arg2 from arg1
def getNodeProperty(arg):
    id=arg[0]
    key=arg[1]

    for node in doc["nodes"]:
        if node["id"] == int(id):
            try:
                if node[key]:
                    print node[key]
                    exit(0)
            except:
                print ""
                exit(0)
    exit(1)



infile = sys.argv[1]

if not os.path.exists(infile):
    sys.stderr.write("ERROR: The file "+infile+" could not be opened\n")
    sys.exit(1)


f1 = open(infile, 'r')
doc = yaml.load(f1)
f1.close()

cmd = sys.argv[2]
args = sys.argv[3:]

if cmd  == "test":
    test(args)
elif cmd == "getNodes":
    getNodes(args)
elif cmd == "getNodeProperty":
    getNodeProperty(args)
elif cmd == "get":
    get(args)
else:
  print "No such command: %s" % cmd
  exit(1)

#print "Dumping"
#print yaml.dump(doc, default_flow_style=False)

#Functions:

#getIdRole