-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparser.py
26 lines (21 loc) · 910 Bytes
/
parser.py
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
from xml.dom import minidom
from cimodel import CiModel
from static import JOBS
class Parser(object):
@staticmethod
def generate_ci_model_from_xml_string(data):
dom = minidom.parseString(data)
activity = {}
lastBuildStatus = {}
lastBuildLabel = {}
lastBuildTime = {}
for node in dom.getElementsByTagName('Project'):
stage = node.getAttribute('name')
for job in JOBS:
if stage == 'home-ideas :: ' + job:
activity[job] = node.getAttribute('activity')
lastBuildStatus[job] = node.getAttribute('lastBuildStatus')
lastBuildLabel[job] = node.getAttribute('lastBuildLabel')
lastBuildTime[job] = node.getAttribute('lastBuildTime')
ciModel = CiModel(activity, lastBuildLabel, lastBuildStatus, lastBuildTime)
return ciModel