)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"002969beeb44556ec8ea29be3fe4cf048684b6b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"eec5f0bf_653e53a1","updated":"2026-02-27 11:16:02.000000000","message":"some issues inline, if you respin i would keep the list comprehetion but there is nothing that would block this progressing.","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"22b0a8ddad377c9b7e3516a24263029de0f7d1b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4b48992a_77285336","updated":"2026-02-27 13:59:01.000000000","message":"lgtm, thanks","commit_id":"d6d1add8f5a47411700e695452059fbcfb557359"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0d649e8a085e96eb897b904a64e77fceaf2b881d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"97e8fd1c_df4e0f3e","updated":"2026-02-27 16:58:31.000000000","message":"v3 was correct this version has a bug","commit_id":"d6d1add8f5a47411700e695452059fbcfb557359"}],"watcher_dashboard/api/watcher.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ddcc9d101a6239a0c9cb5b04336e4f410d5a1021","unresolved":true,"context_lines":[{"line_number":541,"context_line":"        self.unit \u003d indicator.get(\u0027unit\u0027, None)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"def get_strategy_display_name(strategy):"},{"line_number":545,"context_line":"    \"\"\"Return display_name for a strategy, falling back to name."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    :param strategy: A watcherclient Strategy resource object."}],"source_content_type":"text/x-python","patch_set":3,"id":"63042330_88686399","line":544,"in_reply_to":"268367b3_61c86ff0","updated":"2026-02-27 17:00:08.000000000","message":"you didnt do this correctly\n that why i commended that this was fine for now and should be adressed in teh long term not in this chagne","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e473e431508701589b4eb80bb22f0c56dd933b6c","unresolved":true,"context_lines":[{"line_number":541,"context_line":"        self.unit \u003d indicator.get(\u0027unit\u0027, None)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"def get_strategy_display_name(strategy):"},{"line_number":545,"context_line":"    \"\"\"Return display_name for a strategy, falling back to name."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    :param strategy: A watcherclient Strategy resource object."}],"source_content_type":"text/x-python","patch_set":3,"id":"3d0e4592_90e94877","line":544,"in_reply_to":"63042330_88686399","updated":"2026-03-02 05:53:38.000000000","message":"Restored v3 with list comprehension fixes.","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"2c05fe23c2481908796788c8298d3061a52ec090","unresolved":true,"context_lines":[{"line_number":541,"context_line":"        self.unit \u003d indicator.get(\u0027unit\u0027, None)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"def get_strategy_display_name(strategy):"},{"line_number":545,"context_line":"    \"\"\"Return display_name for a strategy, falling back to name."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    :param strategy: A watcherclient Strategy resource object."}],"source_content_type":"text/x-python","patch_set":3,"id":"c6c148f9_3769fb69","line":544,"in_reply_to":"681fcbf0_69e9f6e4","updated":"2026-02-27 11:12:56.000000000","message":"Make sense, will do in the followup update.","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"002969beeb44556ec8ea29be3fe4cf048684b6b4","unresolved":true,"context_lines":[{"line_number":541,"context_line":"        self.unit \u003d indicator.get(\u0027unit\u0027, None)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"def get_strategy_display_name(strategy):"},{"line_number":545,"context_line":"    \"\"\"Return display_name for a strategy, falling back to name."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    :param strategy: A watcherclient Strategy resource object."}],"source_content_type":"text/x-python","patch_set":3,"id":"8eca6484_eb86efb2","line":544,"in_reply_to":"681fcbf0_69e9f6e4","updated":"2026-02-27 11:16:02.000000000","message":"long term yes this is the correct thing but only after we modify list/get to acutlly build starty object instead of direcly retruing the watcher client ones so for now the helper is fine","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e63ab76bc333223e8eb9ad749fea3866cbe7cfc5","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        self.unit \u003d indicator.get(\u0027unit\u0027, None)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"def get_strategy_display_name(strategy):"},{"line_number":545,"context_line":"    \"\"\"Return display_name for a strategy, falling back to name."},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    :param strategy: A watcherclient Strategy resource object."}],"source_content_type":"text/x-python","patch_set":3,"id":"268367b3_61c86ff0","line":544,"in_reply_to":"8eca6484_eb86efb2","updated":"2026-02-27 13:03:26.000000000","message":"Done","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0d649e8a085e96eb897b904a64e77fceaf2b881d","unresolved":true,"context_lines":[{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        :returns: The display name string."},{"line_number":528,"context_line":"        \"\"\""},{"line_number":529,"context_line":"        return self.display_name or self.name"},{"line_number":530,"context_line":""},{"line_number":531,"context_line":"    @property"},{"line_number":532,"context_line":"    def id(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"09916f3d_1ba0beae","line":529,"updated":"2026-02-27 16:58:31.000000000","message":"this wont work becuae get does not return a Strategy object\n\nit dose  watcherclient(request).strategy.get(strategy)\n\nso if you use get or list to get the stragies you get back watcher client  Stargey objects","commit_id":"d6d1add8f5a47411700e695452059fbcfb557359"}],"watcher_dashboard/content/audit_templates/forms.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0d649e8a085e96eb897b904a64e77fceaf2b881d","unresolved":true,"context_lines":[{"line_number":118,"context_line":"        choices \u003d []"},{"line_number":119,"context_line":"        for strategy in strategies:"},{"line_number":120,"context_line":"            display_name \u003d strategy.get_display_name()"},{"line_number":121,"context_line":"            choices.append((strategy.uuid, display_name))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        if choices:"},{"line_number":124,"context_line":"            choices.insert(0, (\"\", _(\"Select Strategy\")))"}],"source_content_type":"text/x-python","patch_set":4,"id":"f344cfa5_c7ffa9f9","line":121,"updated":"2026-02-27 16:58:31.000000000","message":"up mised restroing the list comprehetnion here","commit_id":"d6d1add8f5a47411700e695452059fbcfb557359"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e473e431508701589b4eb80bb22f0c56dd933b6c","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        choices \u003d []"},{"line_number":119,"context_line":"        for strategy in strategies:"},{"line_number":120,"context_line":"            display_name \u003d strategy.get_display_name()"},{"line_number":121,"context_line":"            choices.append((strategy.uuid, display_name))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        if choices:"},{"line_number":124,"context_line":"            choices.insert(0, (\"\", _(\"Select Strategy\")))"}],"source_content_type":"text/x-python","patch_set":4,"id":"8beadaec_2266d2a1","line":121,"in_reply_to":"f344cfa5_c7ffa9f9","updated":"2026-03-02 05:53:38.000000000","message":"Done","commit_id":"d6d1add8f5a47411700e695452059fbcfb557359"}],"watcher_dashboard/content/audit_templates/views.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"002969beeb44556ec8ea29be3fe4cf048684b6b4","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        strategies \u003d watcher.Strategy.list(request, goal\u003dgoal_uuid)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        data \u003d []"},{"line_number":153,"context_line":"        for strategy in strategies:"},{"line_number":154,"context_line":"            display_name \u003d watcher.get_strategy_display_name(strategy)"},{"line_number":155,"context_line":"            data.append({"},{"line_number":156,"context_line":"                \u0027uuid\u0027: strategy.uuid,"},{"line_number":157,"context_line":"                \u0027display_name\u0027: display_name,"},{"line_number":158,"context_line":"            })"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return JsonResponse({\u0027strategies\u0027: data})"},{"line_number":161,"context_line":"    except Exception as exc:"}],"source_content_type":"text/x-python","patch_set":3,"id":"64dc15a7_31a69ed3","line":158,"range":{"start_line":152,"start_character":8,"end_line":158,"end_character":14},"updated":"2026-02-27 11:16:02.000000000","message":"personally i woudl prefer to keep this as a list comprehention \n```suggestion\n        data \u003d [\n            {\n                \u0027uuid\u0027: strategy.uuid,\n                \u0027display_name\u0027: watcher.get_strategy_display_name(strategy)\n            }\n            for strategy in strategies\n        ]\n```","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e63ab76bc333223e8eb9ad749fea3866cbe7cfc5","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        strategies \u003d watcher.Strategy.list(request, goal\u003dgoal_uuid)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        data \u003d []"},{"line_number":153,"context_line":"        for strategy in strategies:"},{"line_number":154,"context_line":"            display_name \u003d watcher.get_strategy_display_name(strategy)"},{"line_number":155,"context_line":"            data.append({"},{"line_number":156,"context_line":"                \u0027uuid\u0027: strategy.uuid,"},{"line_number":157,"context_line":"                \u0027display_name\u0027: display_name,"},{"line_number":158,"context_line":"            })"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        return JsonResponse({\u0027strategies\u0027: data})"},{"line_number":161,"context_line":"    except Exception as exc:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d648d9cd_9c801332","line":158,"range":{"start_line":152,"start_character":8,"end_line":158,"end_character":14},"in_reply_to":"64dc15a7_31a69ed3","updated":"2026-02-27 13:03:26.000000000","message":"Updated code already had list comphrension.","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"}],"watcher_dashboard/test/api_tests/test_watcher.py":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e63ab76bc333223e8eb9ad749fea3866cbe7cfc5","unresolved":false,"context_lines":[{"line_number":462,"context_line":"        watcherclient.action.list.assert_called_with("},{"line_number":463,"context_line":"            detail\u003dTrue)"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def test_get_strategy_display_name(self):"},{"line_number":466,"context_line":"        strategy \u003d api.watcher.Strategy({"},{"line_number":467,"context_line":"            \u0027uuid\u0027: \u0027test-uuid\u0027,"},{"line_number":468,"context_line":"            \u0027name\u0027: \u0027zone_migration\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"95e3c451_3cbe885f","line":465,"in_reply_to":"0fe20f25_f4487135","updated":"2026-02-27 13:03:26.000000000","message":"Done!","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"002969beeb44556ec8ea29be3fe4cf048684b6b4","unresolved":false,"context_lines":[{"line_number":462,"context_line":"        watcherclient.action.list.assert_called_with("},{"line_number":463,"context_line":"            detail\u003dTrue)"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def test_get_strategy_display_name(self):"},{"line_number":466,"context_line":"        strategy \u003d api.watcher.Strategy({"},{"line_number":467,"context_line":"            \u0027uuid\u0027: \u0027test-uuid\u0027,"},{"line_number":468,"context_line":"            \u0027name\u0027: \u0027zone_migration\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"0fe20f25_f4487135","line":465,"in_reply_to":"cd241348_fa546e58","updated":"2026-02-27 11:16:02.000000000","message":"we could do that, negitive testing is also imporamnt but its not striclty required","commit_id":"0aaae03acc8126881dd87eb33ee3ef072f95a3bc"}]}
