)]}'
{"manila_ui/dashboards/utils.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"74177703076ac30bc3596635890202f045c66172","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    for string in strings:"},{"line_number":31,"context_line":"        if string.count(\"\u003d\") \u003d\u003d 0:"},{"line_number":32,"context_line":"            # Key for unsetting"},{"line_number":33,"context_line":"            key \u003d string.strip(\u0027\\\",\\\u0027,\\ \u0027)"},{"line_number":34,"context_line":"            if len(key) not in range(1, 256):"},{"line_number":35,"context_line":"                msg \u003d _(\"Key \u0027%s\u0027 has inproper length.\") % key"},{"line_number":36,"context_line":"            elif \" \" in key:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_6c298689","line":33,"updated":"2015-08-21 05:25:19.000000000","message":"redundant commas and I\u0027m not sure you want any. Just \u0027\\\u0027\\\"\\ \u0027.","commit_id":"8141d17818a388f28b856f0bd74838c69b6e6402"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"19d35c1658d211c21b1ad4152660b7dafe2137e2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    for string in strings:"},{"line_number":31,"context_line":"        if string.count(\"\u003d\") \u003d\u003d 0:"},{"line_number":32,"context_line":"            # Key for unsetting"},{"line_number":33,"context_line":"            key \u003d string.strip(\u0027\\\",\\\u0027,\\ \u0027)"},{"line_number":34,"context_line":"            if len(key) not in range(1, 256):"},{"line_number":35,"context_line":"                msg \u003d _(\"Key \u0027%s\u0027 has inproper length.\") % key"},{"line_number":36,"context_line":"            elif \" \" in key:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_f2015e07","line":33,"in_reply_to":"fa1b9901_6c298689","updated":"2015-08-25 09:27:02.000000000","message":"Done","commit_id":"8141d17818a388f28b856f0bd74838c69b6e6402"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"74177703076ac30bc3596635890202f045c66172","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                unset_list.append(key)"},{"line_number":40,"context_line":"        else:"},{"line_number":41,"context_line":"            # Key-value pair for setting"},{"line_number":42,"context_line":"            pair \u003d [p.strip(\u0027\\\",\\\u0027,\\ \u0027) for p in string.split(\"\u003d\", 1)]"},{"line_number":43,"context_line":"            if not all(len(p) in range(1, 256) for p in pair):"},{"line_number":44,"context_line":"                msg \u003d _(\"All keys and values must be in range from 1 to 255.\")"},{"line_number":45,"context_line":"            elif pair[0] in list(set_dict.keys()):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_0c124a57","line":42,"updated":"2015-08-21 05:25:19.000000000","message":"redundant commas and I\u0027m not sure you want any.  Just \u0027\\\u0027\\\"\\ \u0027.","commit_id":"8141d17818a388f28b856f0bd74838c69b6e6402"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"19d35c1658d211c21b1ad4152660b7dafe2137e2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                unset_list.append(key)"},{"line_number":40,"context_line":"        else:"},{"line_number":41,"context_line":"            # Key-value pair for setting"},{"line_number":42,"context_line":"            pair \u003d [p.strip(\u0027\\\",\\\u0027,\\ \u0027) for p in string.split(\"\u003d\", 1)]"},{"line_number":43,"context_line":"            if not all(len(p) in range(1, 256) for p in pair):"},{"line_number":44,"context_line":"                msg \u003d _(\"All keys and values must be in range from 1 to 255.\")"},{"line_number":45,"context_line":"            elif pair[0] in list(set_dict.keys()):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_d2069a1f","line":42,"in_reply_to":"fa1b9901_0c124a57","updated":"2015-08-25 09:27:02.000000000","message":"Done","commit_id":"8141d17818a388f28b856f0bd74838c69b6e6402"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ba1255ef0d6b7841db46625eb0e53766d4aef8e6","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                msg \u003d _(\"Keys should not contain spaces. \""},{"line_number":49,"context_line":"                        \"Error in \u0027%s\u0027.\") % string"},{"line_number":50,"context_line":"            else:"},{"line_number":51,"context_line":"                set_dict[pair[0]] \u003d pair[1]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    duplicated_keys \u003d [uk for uk in unset_list if uk in list(set_dict.keys())]"},{"line_number":54,"context_line":"    if duplicated_keys:"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_a01657ef","line":51,"updated":"2015-08-27 19:51:48.000000000","message":"The msg that is set can be lost if it is set again later in the loop.  Would be nice to capture them in a list.","commit_id":"43f6005f2030ee3b60739bbb7a92202ebe109b8c"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ba1255ef0d6b7841db46625eb0e53766d4aef8e6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                set_dict[pair[0]] \u003d pair[1]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    duplicated_keys \u003d [uk for uk in unset_list if uk in list(set_dict.keys())]"},{"line_number":54,"context_line":"    if duplicated_keys:"},{"line_number":55,"context_line":"        msg \u003d _(\"Duplicated keys \u0027%s\u0027.\") % str(duplicated_keys)"},{"line_number":56,"context_line":"    if msg:"},{"line_number":57,"context_line":"        raise ValidationError(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_2086c713","line":54,"updated":"2015-08-27 19:51:48.000000000","message":"This case hides earlier messages.  So it would be nice to gather and report all the messages. I think.","commit_id":"43f6005f2030ee3b60739bbb7a92202ebe109b8c"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ba1255ef0d6b7841db46625eb0e53766d4aef8e6","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    duplicated_keys \u003d [uk for uk in unset_list if uk in list(set_dict.keys())]"},{"line_number":54,"context_line":"    if duplicated_keys:"},{"line_number":55,"context_line":"        msg \u003d _(\"Duplicated keys \u0027%s\u0027.\") % str(duplicated_keys)"},{"line_number":56,"context_line":"    if msg:"},{"line_number":57,"context_line":"        raise ValidationError(message\u003dmsg)"},{"line_number":58,"context_line":"    return set_dict, unset_list"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_40a2dbaf","line":55,"updated":"2015-08-27 19:51:48.000000000","message":"This is not obviously distinguishable from the earlier msg. Doesn\u0027t matter much, but perhaps for debuggers it would be nice if the different dup key cases had distinguishable message hints.","commit_id":"43f6005f2030ee3b60739bbb7a92202ebe109b8c"}]}
