Skip to content

Commit 4a8d198

Browse files
author
Michael Rice
committed
converted parsers to use the new generic parser
1 parent a392f47 commit 4a8d198

File tree

3 files changed

+23
-20
lines changed

3 files changed

+23
-20
lines changed

tests/vcenter_tests.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,18 @@ def test_get_all_vcenters(self):
4747
d1 = {
4848
'username': 'root',
4949
'instanceUuid': '137E2125-73EB-4E1B-BF03-2B6CD396E6AC',
50-
'monitor': 'false',
50+
'vcServerId': '1',
51+
'valueType': 'Unique ID',
5152
'hostname': '172.16.214.129',
52-
'meter': 'true',
53+
'monitor': 'false',
54+
'value': 'datacenter-2',
55+
'id': '1',
5356
'version': '5.5.0',
57+
'meter': 'true',
5458
'active': 'true',
5559
'fullname': 'VMware vCenter Server 5.5.0 build-1945287 (Sim)',
56-
'id': '1'
60+
'customerId': '3',
61+
'objectType': 'Data Center'
5762
}
5863
self.assertDictEqual(d1, vcenters[0])
5964

@@ -65,13 +70,18 @@ def test_get_vcenter_by_id_found(self):
6570
d1 = {
6671
'username': 'root',
6772
'instanceUuid': '137E2125-73EB-4E1B-BF03-2B6CD396E6AC',
68-
'monitor': 'false',
73+
'vcServerId': '1',
74+
'valueType': 'Unique ID',
6975
'hostname': '172.16.214.129',
70-
'meter': 'true',
76+
'monitor': 'false',
77+
'value': 'datacenter-2',
78+
'id': '1',
7179
'version': '5.5.0',
80+
'meter': 'true',
7281
'active': 'true',
7382
'fullname': 'VMware vCenter Server 5.5.0 build-1945287 (Sim)',
74-
'id': '1'
83+
'customerId': '3',
84+
'objectType': 'Data Center'
7585
}
7686
self.assertIsNotNone(vc)
7787
self.assertIsInstance(vc, dict)

thunderhead/parser/rules.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# limitations under the License.
1414

1515
from xml.etree import ElementTree as etree
16+
from generic_parser import PayloadParser
1617

1718

1819
def parse_all_rules(body):
@@ -36,10 +37,5 @@ def parse_rule(body):
3637

3738

3839
def _parse_rule(rule):
39-
v = {}
40-
for rule_info in rule.getchildren():
41-
# this is messy but it seems cleaner than dealing with the namespace
42-
tag = rule_info.tag.split("}")[1][0:]
43-
text = rule_info.text
44-
v[tag] = text
45-
return v
40+
rule_parser = PayloadParser()
41+
return rule_parser.parse(rule)

thunderhead/parser/vcenter.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
from xml.etree import ElementTree as etree
1616

17+
from generic_parser import PayloadParser
18+
1719

1820
def parse_all_vcenters(body):
1921
"""
@@ -76,10 +78,5 @@ def parse_vcenter(body):
7678

7779

7880
def _parse_vcenter(vcenter):
79-
v = {}
80-
for vcenter_info in vcenter.getchildren():
81-
# this is messy but it seems cleaner than dealing with the namespace
82-
tag = vcenter_info.tag.split("}")[1][0:]
83-
text = vcenter_info.text
84-
v[tag] = text
85-
return v
81+
vcenter_parser = PayloadParser()
82+
return vcenter_parser.parse(vcenter)

0 commit comments

Comments
 (0)