)]}'
{"keystone/notifications.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b621f96f4b384257236c9e5fee59e48190362b96","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                         {\u0027event\u0027: event, \u0027actions\u0027: \u0027, \u0027.join(ACTIONS)})"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    signal \u003d ACTION_MAP[event]"},{"line_number":155,"context_line":"    #raise Exception(\u0027%r %r %r %r\u0027 % (event, resource_type, callbacks, signal))"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    if not hasattr(callbacks, \u0027__iter__\u0027):"},{"line_number":158,"context_line":"        callbacks \u003d [callbacks]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FIj8%3D","line":155,"updated":"2014-03-20 01:27:01.000000000","message":"Need to snip the above.","commit_id":"5965d724526bba4ae32bbd76b6caad4e38823803"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b621f96f4b384257236c9e5fee59e48190362b96","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                \u0027operation\u0027: operation,"},{"line_number":236,"context_line":"                \u0027service\u0027: service,"},{"line_number":237,"context_line":"                \u0027resource_type\u0027: resource_type,"},{"line_number":238,"context_line":"                \u0027operation\u0027: signal.name}"},{"line_number":239,"context_line":"            try:"},{"line_number":240,"context_line":"                notifier.info(context, event_type, payload)"},{"line_number":241,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FIkg%3D","line":238,"updated":"2014-03-20 01:27:01.000000000","message":"There are two keys called operation.","commit_id":"5965d724526bba4ae32bbd76b6caad4e38823803"}]}
