)]}'
{"zuulclient/utils/formatters.py":[{"author":{"_account_id":7186,"name":"Matthieu Huin","email":"mhuin@redhat.com","username":"mhu"},"change_message_id":"dc212444eee044ef8176f4e37e69173a2b96f54d","unresolved":true,"context_lines":[{"line_number":289,"context_line":"            ])"},{"line_number":290,"context_line":"        return str(table)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def formatFreezeJob(self, data) -\u003e str:"},{"line_number":293,"context_line":"        printer \u003d pprint.PrettyPrinter(indent\u003d2)"},{"line_number":294,"context_line":"        ret \u003d \u0027\u0027"},{"line_number":295,"context_line":"        for label, key in ["},{"line_number":296,"context_line":"                (\u0027Job\u0027, \u0027job\u0027),"},{"line_number":297,"context_line":"                (\u0027Branch\u0027, \u0027branch\u0027),"},{"line_number":298,"context_line":"                (\u0027Ansible Version\u0027, \u0027ansible_version\u0027),"},{"line_number":299,"context_line":"                (\u0027Timeout\u0027, \u0027timeout\u0027),"},{"line_number":300,"context_line":"                (\u0027Post Timeout\u0027, \u0027post_timeout\u0027),"},{"line_number":301,"context_line":"                (\u0027Workspace Scheme\u0027, \u0027workspace_scheme\u0027),"},{"line_number":302,"context_line":"                (\u0027Override Checkout\u0027, \u0027override_checkout\u0027),"},{"line_number":303,"context_line":"        ]:"},{"line_number":304,"context_line":"            value \u003d data.get(key)"},{"line_number":305,"context_line":"            if value is not None:"},{"line_number":306,"context_line":"                ret +\u003d f\u0027{label}: {value}\\n\u0027"},{"line_number":307,"context_line":"        if data[\u0027nodeset\u0027][\u0027name\u0027]:"},{"line_number":308,"context_line":"            ret +\u003d f\"Nodeset: {data[\u0027nodeset\u0027][\u0027name\u0027]}\\n\""},{"line_number":309,"context_line":"        for label, key in ["},{"line_number":310,"context_line":"                (\u0027Pre-run Playbooks\u0027, \u0027pre_playbooks\u0027),"},{"line_number":311,"context_line":"                (\u0027Run Playbooks\u0027, \u0027playbooks\u0027),"},{"line_number":312,"context_line":"                (\u0027Post-run Playbooks\u0027, \u0027post_playbooks\u0027),"},{"line_number":313,"context_line":"                (\u0027Cleanup Playbooks\u0027, \u0027cleanup_playbooks\u0027),"},{"line_number":314,"context_line":"        ]:"},{"line_number":315,"context_line":"            pbs \u003d data.get(key)"},{"line_number":316,"context_line":"            if not pbs:"},{"line_number":317,"context_line":"                continue"},{"line_number":318,"context_line":"            ret +\u003d f\"{label}:\\n\""},{"line_number":319,"context_line":"            for pb in pbs:"},{"line_number":320,"context_line":"                trusted \u003d \u0027 [trusted]\u0027 if pb[\u0027trusted\u0027] else \u0027\u0027"},{"line_number":321,"context_line":"                ret +\u003d (f\"  {pb[\u0027connection\u0027]}:{pb[\u0027project\u0027]}:\""},{"line_number":322,"context_line":"                        f\"{pb[\u0027path\u0027]}@{pb[\u0027branch\u0027]}{trusted}\\n\")"},{"line_number":323,"context_line":"        ret +\u003d \u0027Vars:\\n\u0027"},{"line_number":324,"context_line":"        ret +\u003d printer.pformat(data[\u0027vars\u0027])"},{"line_number":325,"context_line":"        return ret"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"class DotFormatter(BaseFormatter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"05636748_fa40d9f8","line":325,"range":{"start_line":292,"start_character":0,"end_line":325,"end_character":18},"updated":"2022-07-27 14:54:24.000000000","message":"Not a blocker for this patch, but if we go we pprint we should update the formatAutoholdQuery, formatBuild and formatBuildset methods that way as well in a subsequent change.","commit_id":"25fbd709cab485cbd766d4b1434752ceb383a525"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"dfdadcac85953033507eb5568cc7b8174d7ba1be","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                        f\"{pb[\u0027path\u0027]}@{pb[\u0027branch\u0027]}{trusted}\\n\")"},{"line_number":323,"context_line":"        ret +\u003d \u0027Vars:\\n\u0027"},{"line_number":324,"context_line":"        ret +\u003d printer.pformat(data[\u0027vars\u0027])"},{"line_number":325,"context_line":"        return ret"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"class DotFormatter(BaseFormatter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"429befe5_94c6d350","line":325,"in_reply_to":"05636748_fa40d9f8","updated":"2022-07-28 16:19:48.000000000","message":"Well, those have pretty well-defined fields, but a frozen job is an huge collection of random json fields that can change at any time, so trying to make sense of it is futile.  I think the others are probably fine the way they are?\n\n(Maybe something like the artifact metadata could use pprint?)","commit_id":"25fbd709cab485cbd766d4b1434752ceb383a525"}]}
