)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a6ea12e899a5f98e0bc94e00d693e6cd1acbaff6","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Account for encoding in _get_direct_url"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Modifies the method to strip out url-encoding of the file name as well as a better way to gather the path that avoids double slashes"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #2129687"},{"line_number":12,"context_line":"Change-Id: Ia2d2c824c64fce4779d4e38eec155dc020a4ad7e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d659f67b_785d76f0","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":132},"updated":"2025-10-27 16:03:00.000000000","message":"Please wrap commit messages to 72 characters.","commit_id":"95c842023844d800b6b03884f8f449673683563a"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"c8332e0534e739b02f5d7634e375ecacd00f99b5","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Account for encoding in _get_direct_url"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Modifies the method to strip out url-encoding of the file name as well as a better way to gather the path that avoids double slashes"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #2129687"},{"line_number":12,"context_line":"Change-Id: Ia2d2c824c64fce4779d4e38eec155dc020a4ad7e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"6b785285_97a028a9","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":132},"in_reply_to":"d659f67b_785d76f0","updated":"2025-10-27 16:09:36.000000000","message":"Corrected","commit_id":"95c842023844d800b6b03884f8f449673683563a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"48147ec29c703357033a3157b34ba499f91aa788","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"68f52b68_a8f5e47a","updated":"2025-10-24 09:25:40.000000000","message":"Good improvement to use a proper parser - thanks. Ideally, we\u0027d get a release note too.","commit_id":"fa3f76239901a1b9221f6e74186723a1029c8dd8"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"b3aa075e0e185182c2f8e7747331c0240c792134","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a901b99_19a63e06","updated":"2025-10-24 08:39:26.000000000","message":"recheck","commit_id":"fa3f76239901a1b9221f6e74186723a1029c8dd8"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"243ec2c8eec97596cde2cdb71c6e6ba5606ba902","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f9d7f8c3_88ffb3a6","updated":"2025-10-23 19:23:53.000000000","message":"recheck","commit_id":"fa3f76239901a1b9221f6e74186723a1029c8dd8"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7a81b174b372f4ff809f2c710c048a793e2b1963","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"17abb142_bb568dd2","updated":"2025-10-27 11:15:30.000000000","message":"recheck - failed on unrelated KA bug which should be fixed, thanks Ian","commit_id":"95c842023844d800b6b03884f8f449673683563a"}],"kayobe/utils.py":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7a81b174b372f4ff809f2c710c048a793e2b1963","unresolved":true,"context_lines":[{"line_number":25,"context_line":"import subprocess"},{"line_number":26,"context_line":"import sys"},{"line_number":27,"context_line":"from urllib.parse import unquote"},{"line_number":28,"context_line":"from urllib.parse import urlparse"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from ansible.parsing.yaml.loader import AnsibleLoader"},{"line_number":31,"context_line":"import yaml"}],"source_content_type":"text/x-python","patch_set":2,"id":"0f5ddb3f_d1b826fe","line":28,"updated":"2025-10-27 11:15:30.000000000","message":"You could do this all on one line?\n```\nfrom urllib.parse import unquote, urlparse\n```","commit_id":"95c842023844d800b6b03884f8f449673683563a"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"ed0e8fd34ba6ca9807f750e9c965bf816f5fdd34","unresolved":true,"context_lines":[{"line_number":25,"context_line":"import subprocess"},{"line_number":26,"context_line":"import sys"},{"line_number":27,"context_line":"from urllib.parse import unquote"},{"line_number":28,"context_line":"from urllib.parse import urlparse"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from ansible.parsing.yaml.loader import AnsibleLoader"},{"line_number":31,"context_line":"import yaml"}],"source_content_type":"text/x-python","patch_set":2,"id":"1dc4acc5_487689a1","line":28,"in_reply_to":"0f5ddb3f_d1b826fe","updated":"2025-10-27 11:24:46.000000000","message":"Hey Doug\n\nI had that to start off with but fails on pep so split out to 2 lines.","commit_id":"95c842023844d800b6b03884f8f449673683563a"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"8b86a0f9edfc1f7990385b7a698afda0a2acaf8f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import subprocess"},{"line_number":26,"context_line":"import sys"},{"line_number":27,"context_line":"from urllib.parse import unquote"},{"line_number":28,"context_line":"from urllib.parse import urlparse"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from ansible.parsing.yaml.loader import AnsibleLoader"},{"line_number":31,"context_line":"import yaml"}],"source_content_type":"text/x-python","patch_set":2,"id":"0c1f0b3d_06999d4c","line":28,"in_reply_to":"1dc4acc5_487689a1","updated":"2025-10-27 11:30:22.000000000","message":"argh!","commit_id":"95c842023844d800b6b03884f8f449673683563a"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7826ceddd37e733ecb6ca9fc2e03eb09f6da11af","unresolved":true,"context_lines":[{"line_number":67,"context_line":"                editable \u003d dir_info.get(\u0027editable\u0027)"},{"line_number":68,"context_line":"            if editable:"},{"line_number":69,"context_line":"                url \u003d direct_url_content[\u0027url\u0027]"},{"line_number":70,"context_line":"                prefix \u003d \u0027file://\u0027"},{"line_number":71,"context_line":"                if url.startswith(prefix):"},{"line_number":72,"context_line":"                    return unquote(urlparse(url).path)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"b9707ddf_45ee67dd","line":71,"range":{"start_line":70,"start_character":16,"end_line":71,"end_character":42},"updated":"2025-10-27 17:43:46.000000000","message":"shouldn\u0027t ``urlparse`` used here too?","commit_id":"5eb4cbc6ffd4324501a82325e63c3b35aafe403d"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"9ebcccf519bd64077dfc043f3783ea0475741e68","unresolved":true,"context_lines":[{"line_number":67,"context_line":"                editable \u003d dir_info.get(\u0027editable\u0027)"},{"line_number":68,"context_line":"            if editable:"},{"line_number":69,"context_line":"                url \u003d direct_url_content[\u0027url\u0027]"},{"line_number":70,"context_line":"                prefix \u003d \u0027file://\u0027"},{"line_number":71,"context_line":"                if url.startswith(prefix):"},{"line_number":72,"context_line":"                    return unquote(urlparse(url).path)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ca632af_cb1b23f0","line":71,"range":{"start_line":70,"start_character":16,"end_line":71,"end_character":42},"in_reply_to":"b9707ddf_45ee67dd","updated":"2025-10-27 21:55:11.000000000","message":"ignored... anyway LGTM","commit_id":"5eb4cbc6ffd4324501a82325e63c3b35aafe403d"}]}
