)]}'
{"ironic/common/trait_based_networking/base.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"79f917ccd767f9275cef30fac9a3497305f48cc0","unresolved":true,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def _retrieve_attribute(attribute_name, tbn_obj):"},{"line_number":119,"context_line":"    \"\"\"Helper method to get an attribute from a TBN related object\"\"\""},{"line_number":120,"context_line":"    attribute \u003d getattr(tbn_obj, attribute_name, None)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    if attribute is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b629d18_4fff906f","line":119,"updated":"2026-02-06 20:54:16.000000000","message":"Ideally we\u0027d include the :param: and :return: for these; that\u0027s a lot of the value IMO. Given we\u0027re actively starting on type checking annotations though, far from a requirement.","commit_id":"1c1f898748207d243a355707444676640d5427b2"}]}
