)]}'
{"swift/common/utils.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"7db7f9c7af6bcd7f578415a80d1f317dd85f9f1e","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        sub_section_dict \u003d info"},{"line_number":170,"context_line":"        for sub_section in section.split(\u0027.\u0027):"},{"line_number":171,"context_line":"            if key_to_pop:"},{"line_number":172,"context_line":"                sub_section_dict \u003d sub_section_dict[key_to_pop]"},{"line_number":173,"context_line":"            key_to_pop \u003d sub_section"},{"line_number":174,"context_line":"        sub_section_dict.pop(key_to_pop, None)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_bb38c0d5","line":172,"updated":"2014-05-20 21:10:13.000000000","message":"this will throw a KeyError if disallowed_sections contains a section.subsection that does not exist in info","commit_id":"1d660afccd29ab842295b0c4bc507e555d4aa1f4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"7db7f9c7af6bcd7f578415a80d1f317dd85f9f1e","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        dict_to_use[name] \u003d {}"},{"line_number":206,"context_line":"    for key, val in kwargs.iteritems():"},{"line_number":207,"context_line":"        if \".\" in key:"},{"line_number":208,"context_line":"            raise ValueError(\u0027Cannot use \".\" in a swift_info key: %s\u0027 % key)"},{"line_number":209,"context_line":"        dict_to_use[name][key] \u003d val"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_1b30d4e7","line":208,"updated":"2014-05-20 21:10:13.000000000","message":"If I understand it in get_swift_info() you are allowing disallowed sections to specify arbitrary depths of subsections e.g. foo.bar.baz, but here the check for \u0027.\u0027 in key is only applied to the section and first level subsection.\nIf the intent is to only allow first level of subsection to be filtered then maybe the split(\u0027.\u0027) in line 170 should be split(\u0027.\u0027, 1)","commit_id":"1d660afccd29ab842295b0c4bc507e555d4aa1f4"}]}
