)]}'
{"openstack_auth/views.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e3a8b69902e5a742f5e7267f740757524c3f7a70","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        if utils.is_websso_default_redirect():"},{"line_number":174,"context_line":"            res \u003d django_http.HttpResponseRedirect(settings.LOGIN_ERROR)"},{"line_number":175,"context_line":"        else:"},{"line_number":176,"context_line":"            msg \u003d \u0027Login failed: %s\u0027 % str(exc)"},{"line_number":177,"context_line":"            res \u003d django_http.HttpResponseRedirect(settings.LOGIN_URL)"},{"line_number":178,"context_line":"            res.set_cookie(\u0027logout_reason\u0027, msg, max_age\u003d10)"},{"line_number":179,"context_line":"        return res"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_5ae5e805","line":176,"range":{"start_line":176,"start_character":39,"end_line":176,"end_character":47},"updated":"2020-01-09 06:56:38.000000000","message":"str() itself looks unnecessary. Doesn\u0027t %s convert a variable into a string?","commit_id":"f019b298b0eedc816a2e1d64764b1435a0efbdc6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"e1d5baccf781acabfbcaca78916ee46585f82a3d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        if utils.is_websso_default_redirect():"},{"line_number":174,"context_line":"            res \u003d django_http.HttpResponseRedirect(settings.LOGIN_ERROR)"},{"line_number":175,"context_line":"        else:"},{"line_number":176,"context_line":"            msg \u003d \u0027Login failed: %s\u0027 % str(exc)"},{"line_number":177,"context_line":"            res \u003d django_http.HttpResponseRedirect(settings.LOGIN_URL)"},{"line_number":178,"context_line":"            res.set_cookie(\u0027logout_reason\u0027, msg, max_age\u003d10)"},{"line_number":179,"context_line":"        return res"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a6240660","line":176,"range":{"start_line":176,"start_character":39,"end_line":176,"end_character":47},"in_reply_to":"3fa7e38b_5ae5e805","updated":"2020-01-09 10:58:12.000000000","message":"Good catch, I\u0027ll fix it in a next patch set","commit_id":"f019b298b0eedc816a2e1d64764b1435a0efbdc6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e3a8b69902e5a742f5e7267f740757524c3f7a70","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        unscoped_auth_ref \u003d current_plugin.get_access_info(unscoped_auth)"},{"line_number":337,"context_line":"    except exceptions.KeystoneAuthException as exc:"},{"line_number":338,"context_line":"        msg \u003d \u0027Switching to Keystone Provider %s has failed. %s\u0027 \\"},{"line_number":339,"context_line":"              % (keystone_provider, (str(exc)))"},{"line_number":340,"context_line":"        messages.error(request, msg)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    if unscoped_auth_ref:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_fab934eb","line":339,"range":{"start_line":339,"start_character":37,"end_line":339,"end_character":45},"updated":"2020-01-09 06:56:38.000000000","message":"ditto","commit_id":"f019b298b0eedc816a2e1d64764b1435a0efbdc6"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e3a8b69902e5a742f5e7267f740757524c3f7a70","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                request, auth_url\u003dunscoped_auth.auth_url,"},{"line_number":346,"context_line":"                token\u003dunscoped_auth_ref.auth_token)"},{"line_number":347,"context_line":"        except exceptions.KeystoneAuthException as exc:"},{"line_number":348,"context_line":"            msg \u003d \u0027Keystone provider switch failed: %s\u0027 % str(exc)"},{"line_number":349,"context_line":"            res \u003d django_http.HttpResponseRedirect(settings.LOGIN_URL)"},{"line_number":350,"context_line":"            res.set_cookie(\u0027logout_reason\u0027, msg, max_age\u003d10)"},{"line_number":351,"context_line":"            return res"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_baaf3c9b","line":348,"range":{"start_line":348,"start_character":57,"end_line":348,"end_character":66},"updated":"2020-01-09 06:56:38.000000000","message":"ditto","commit_id":"f019b298b0eedc816a2e1d64764b1435a0efbdc6"}]}
