1#!/usr/bin/env python3 -u
2import imp
3import string
4import sys
5
6from robot.libraries.BuiltIn import BuiltIn
7
8
9def get_sensor(module_name, value):
10    m = imp.load_source("module.name", module_name)
11
12    for i in m.ID_LOOKUP["SENSOR"]:
13        if m.ID_LOOKUP["SENSOR"][i] == value:
14            return i
15
16    return 0xFF
17
18
19def get_inventory_sensor(module_name, value):
20    m = imp.load_source("module.name", module_name)
21
22    value = string.replace(value, m.INVENTORY_ROOT, "<inventory_root>")
23
24    for i in m.ID_LOOKUP["SENSOR"]:
25        if m.ID_LOOKUP["SENSOR"][i] == value:
26            return i
27
28    return 0xFF
29
30
31def get_inventory_list(module_name):
32    inventory_list = []
33    m = imp.load_source("module.name", module_name)
34
35    for i in m.ID_LOOKUP["FRU"]:
36        s = m.ID_LOOKUP["FRU"][i]
37        s = s.replace("<inventory_root>", m.INVENTORY_ROOT)
38        inventory_list.append(s)
39
40    return inventory_list
41
42
43def get_inventory_fru_type_list(module_name, fru_type):
44    inventory_list = []
45    m = imp.load_source("module.name", module_name)
46
47    for i in m.FRU_INSTANCES.keys():
48        if m.FRU_INSTANCES[i]["fru_type"] == fru_type:
49            s = i.replace("<inventory_root>", m.INVENTORY_ROOT)
50            inventory_list.append(s)
51
52    return inventory_list
53
54
55def call_keyword(keyword):
56    return BuiltIn().run_keyword(keyword)
57
58
59def get_FRU_component_name_list(module_name):
60    name_list = []
61    m = imp.load_source("module.name", module_name)
62
63    for name in m.FRU_COMPONENT_NAME:
64        name_list.append(name)
65        print(name)
66
67    return name_list
68
69
70def get_ipmi_rest_fru_field_map(module_name):
71    m = imp.load_source("module.name", module_name)
72
73    ipmi_rest_fru_field_map = dict.copy(m.ipmi_rest_fru_field_map)
74
75    return ipmi_rest_fru_field_map
76