Skip to content

Commit 3aa6e0e

Browse files
committed
use koji module in place of koji cli
Signed-off-by: Gaëtan Lehmann <[email protected]>
1 parent 3929786 commit 3aa6e0e

File tree

1 file changed

+9
-16
lines changed

1 file changed

+9
-16
lines changed

Diff for: scripts/pkg_in_pipe.py

+9-16
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
#!/usr/bin/env python
22

33
import os
4-
import re
5-
from multiprocessing.pool import ThreadPool
6-
from subprocess import check_output
74

5+
import koji
86
import requests
97

10-
# export VER=8.2; for t in incoming ci testing candidates lab; do echo "\*\*\* v$VER-$t \*\*\*"; koji list-tagged v$VER-$t; echo; done
11-
128
def print_header(out):
139
print('''
1410
<!DOCTYPE html>
@@ -78,6 +74,11 @@ def print_table_line(out, build, link, issues, by):
7874
</tr>
7975
''', file=out)
8076

77+
# open koji session
78+
config = koji.read_config("koji")
79+
session = koji.ClientSession('https://kojihub.xcp-ng.org', config)
80+
session.ssl_login(config['cert'], None, config['serverca'])
81+
8182
# load the issues from plane, so we can search for the plane card related to a build
8283
resp = requests.get('https://project.vates.tech/api/v1/workspaces/vates-global/projects/43438eec-1335-4fc2-8804-5a4c32f4932d/issues/',
8384
headers={'x-api-key': os.environ['PLANE_TOKEN']})
@@ -88,17 +89,9 @@ def print_table_line(out, build, link, issues, by):
8889
tags = [f'v{v}-{p}' for v in ['8.2', '8.3'] for p in ['incoming', 'ci', 'testing', 'candidates', 'lab']]
8990
for tag in tags:
9091
print_table_header(out, tag)
91-
koji_output = check_output(['koji', 'list-tagged', '--quiet', tag]).decode('utf8')
92-
builds = [line.split() for line in koji_output.splitlines()]
93-
with ThreadPool() as p:
94-
build_info_outputs = p.map(lambda b: check_output(['koji', 'buildinfo', b[0]]).decode('utf8'), builds)
95-
for build_info_output in build_info_outputs:
96-
kv_lines = [line.split(': ') for line in build_info_output.splitlines()]
97-
build_info = dict(kv for kv in kv_lines if len(kv) == 2)
98-
id = re.search(r'\[(.+)\]', build_info['BUILD']).group(1)
99-
build_url = f'https://koji.xcp-ng.org/buildinfo?buildID={id}'
92+
for build in session.listTagged(tag):
93+
build_url = f'https://koji.xcp-ng.org/buildinfo?buildID={build['build_id']}'
10094
build_issues = [i for i in project_issues['results'] if f'href="{build_url}"' in i['description_html']]
101-
print_table_line(out, build_info['BUILD'].split()[0], build_url,
102-
build_issues, build_info['Built by'])
95+
print_table_line(out, build['nvr'], build_url, build_issues, build['owner_name'])
10396
print_table_footer(out)
10497
print_footer(out)

0 commit comments

Comments
 (0)