summary refs log tree commit diff stats
path: root/gitlab/output.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/output.py')
-rwxr-xr-xgitlab/output.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/gitlab/output.py b/gitlab/output.py
new file mode 100755
index 000000000..745081aef
--- /dev/null
+++ b/gitlab/output.py
@@ -0,0 +1,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)