Skip to content

Commit c19f160

Browse files
committed
wip
Signed-off-by: bia1708 <bianca-maria.popu@analog.com>
1 parent 6aa4acb commit c19f160

1 file changed

Lines changed: 26 additions & 9 deletions

File tree

telemetry/gparser/parser.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,32 @@ def show_info(self):
8686

8787
def get_job_info(self):
8888
'''returns jenkins project name, job no and job date'''
89-
if self.multilevel:
90-
url = urlparse(self.url)
91-
job=url.path.split('/')[3] + '/' + url.path.split('/')[5]
92-
job_no=url.path.split('/')[6]
93-
# TODO: get job date using jenkins api
94-
job_date=None
95-
return (job,job_no,job_date)
96-
97-
raise Exception("Does not support non multilevel yet!")
89+
if not self.multilevel:
90+
raise Exception("Does not support non multilevel yet!")
91+
92+
url = urlparse(self.url)
93+
parts = [p for p in url.path.split("/") if p] # remove empty entries
94+
95+
# Jenkins URL paths look like: /job/folder/job/my-job/123/
96+
# Extract all job segments
97+
job_parts = []
98+
job_no = None
99+
100+
i = 0
101+
while i < len(parts):
102+
if parts[i] == "job":
103+
if i + 1 < len(parts):
104+
job_parts.append(parts[i + 1])
105+
i += 2
106+
continue
107+
# Last part is usually the build number
108+
if parts[i].isdigit():
109+
job_no = parts[i]
110+
i += 1
111+
112+
job = "/".join(job_parts)
113+
job_date = None # TODO: call Jenkins API for timestamp
114+
return (job, job_no, job_date)
98115

99116
def get_file_info(self):
100117
'''returns file name, file info, target_board, artifact_info_type'''

0 commit comments

Comments
 (0)