summary refs log tree commit diff stats
path: root/gitlab/output.py
blob: 745081aefd9f555f69227b2277666a3622ae3488 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from tomlkit import dumps
from os import path, makedirs

def find_label(labels, keyword):
    match = next((s for s in labels if f"{keyword}:" in s), None)
    if not match:
        return f"{keyword}_missing"
    return match.replace(": ", "_")

def write_file(file_path, string):
    makedirs(path.dirname(file_path), exist_ok=True)
    with open(file_path, "w") as file:
        file.write(string)

def output_issue(issue):
    labels = issue['labels']
    issue_id = issue['id']
    toml_string = dumps(issue)

    target_label = find_label(labels, "target")
    host_label = find_label(labels, "host")
    accel_label = find_label(labels, "accel")
    write_file(f"issues/{target_label}/{host_label}/{accel_label}/{issue_id}.toml", toml_string)