)]}'
{"oslo_utils/strutils.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"9331fec0ec87cdd0ed7a1b29dde44fa16fe1bc2f","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            v \u003d mask_dict_password(v, secret\u003dsecret)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            for sani_key in _SANITIZE_KEYS:"},{"line_number":363,"context_line":"                if sani_key in k:"},{"line_number":364,"context_line":"                    v \u003d secret"},{"line_number":365,"context_line":"                    break"},{"line_number":366,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_0c200c9b","line":363,"updated":"2016-06-21 19:08:34.000000000","message":"hmmm, I\u0027d have thought this would be equally the other way as well.","commit_id":"528c61d767e1753df36073b435641d54509e3bf1"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"452cfcf47212b4c359896985c3c1e54ca955f520","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            v \u003d mask_dict_password(v, secret\u003dsecret)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            for sani_key in _SANITIZE_KEYS:"},{"line_number":363,"context_line":"                if sani_key in k:"},{"line_number":364,"context_line":"                    v \u003d secret"},{"line_number":365,"context_line":"                    break"},{"line_number":366,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_2cf6a8d7","line":363,"in_reply_to":"3aaa91ec_0c200c9b","updated":"2016-06-21 19:13:02.000000000","message":"No.  So \u0027password\u0027 is in \u0027ipmi_password\u0027\n\nBut \u0027ipmi_password\u0027 is not in (\u0027password\u0027, \u0027adminpassword\u0027) etc...","commit_id":"528c61d767e1753df36073b435641d54509e3bf1"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"1ade00e26f449d6257785af43360a2b2b88da103","unresolved":false,"context_lines":[{"line_number":358,"context_line":"    for k, v in dictionary.items():"},{"line_number":359,"context_line":"        if isinstance(v, dict):"},{"line_number":360,"context_line":"            v \u003d mask_dict_password(v, secret\u003dsecret)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            for sani_key in _SANITIZE_KEYS:"},{"line_number":363,"context_line":"                if sani_key in k:"},{"line_number":364,"context_line":"                    v \u003d secret"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_610ed535","line":361,"range":{"start_line":361,"start_character":8,"end_line":361,"end_character":12},"updated":"2016-06-22 09:55:49.000000000","message":"nit this\u0027d be easier to read imo if you assigned straight to out[k] and used continue\n\n    for k, v in dictionary.items():\n        if isinstance(v, dict):\n            out[k] \u003d mask_dict_password(v, secret\u003dsecret)\n            continue\n        for sani_key in _SANITIZE_KEYS:\n            if sani_key in k:\n                out[k] \u003d secret\n                break\n        else:\n            # We did not find a match for the key name in the\n            # _SANITIZE_KEYS, so we fall through to here\n            if isinstance(v, six.string_types):\n                out[k] \u003d mask_password(v, secret\u003dsecret)","commit_id":"e9735f63f6fc8cae46520f2bb7274bf02ae5c481"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"af3a5bce46031ee6f26458e7472a5f5d3cab30d9","unresolved":false,"context_lines":[{"line_number":358,"context_line":"    for k, v in dictionary.items():"},{"line_number":359,"context_line":"        if isinstance(v, dict):"},{"line_number":360,"context_line":"            v \u003d mask_dict_password(v, secret\u003dsecret)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            for sani_key in _SANITIZE_KEYS:"},{"line_number":363,"context_line":"                if sani_key in k:"},{"line_number":364,"context_line":"                    v \u003d secret"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_589f3550","line":361,"range":{"start_line":361,"start_character":8,"end_line":361,"end_character":12},"in_reply_to":"3aaa91ec_610ed535","updated":"2016-06-22 15:35:51.000000000","message":"Agreed. I\u0027ve never been a big fan of the for: else syntax cause it is somewhat IMHO esoteric","commit_id":"e9735f63f6fc8cae46520f2bb7274bf02ae5c481"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"348d7aa859287cddf04fad11169a51f4964ea2cb","unresolved":false,"context_lines":[{"line_number":358,"context_line":"    for k, v in dictionary.items():"},{"line_number":359,"context_line":"        if isinstance(v, dict):"},{"line_number":360,"context_line":"            v \u003d mask_dict_password(v, secret\u003dsecret)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            for sani_key in _SANITIZE_KEYS:"},{"line_number":363,"context_line":"                if sani_key in k:"},{"line_number":364,"context_line":"                    v \u003d secret"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_3e5b3189","line":361,"range":{"start_line":361,"start_character":8,"end_line":361,"end_character":12},"in_reply_to":"3aaa91ec_610ed535","updated":"2016-06-22 16:11:23.000000000","message":"Done","commit_id":"e9735f63f6fc8cae46520f2bb7274bf02ae5c481"}]}
