)]}'
{"openstack_auth/tests/unit/test_views.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9320d77bdf87d695a1615bc3846c062a6523bf8e","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class CsrfTestCase(test.TestCase):"},{"line_number":21,"context_line":"    COOKIES_OFF_MSG \u003d (\"Cookies may be turned off. \" +"},{"line_number":22,"context_line":"                       \"Make sure cookies are enabled and try again.\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def test_no_csrf(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_38a34001","line":21,"range":{"start_line":21,"start_character":52,"end_line":21,"end_character":54},"updated":"2020-10-12 10:50:43.000000000","message":"nit: This is unnecessary as two strings are concatenated automatically in python.","commit_id":"47e7669c3f9b108eeea278e9604930bd7fbdc985"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"77aaf88f9736286d7b9c94bd8e41a2a61bab9cfe","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class CsrfTestCase(test.TestCase):"},{"line_number":21,"context_line":"    COOKIES_OFF_MSG \u003d (\"Cookies may be turned off. \" +"},{"line_number":22,"context_line":"                       \"Make sure cookies are enabled and try again.\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def test_no_csrf(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f84d4899","line":21,"range":{"start_line":21,"start_character":52,"end_line":21,"end_character":54},"in_reply_to":"9f560f44_38a34001","updated":"2020-10-12 11:33:35.000000000","message":"Done","commit_id":"47e7669c3f9b108eeea278e9604930bd7fbdc985"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9320d77bdf87d695a1615bc3846c062a6523bf8e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                       \"Make sure cookies are enabled and try again.\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def test_no_csrf(self):"},{"line_number":25,"context_line":"        reason \u003d views.get_csrf_reason(\"\")"},{"line_number":26,"context_line":"        self.assertEqual(\"\", reason)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_valid_csrf(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_18759c98","line":25,"range":{"start_line":25,"start_character":39,"end_line":25,"end_character":41},"updated":"2020-10-12 10:50:43.000000000","message":"nit: Perhaps None is better because request.GET.get(\u0027csrf_failure\u0027) returns None if csrf_failure is not passed.","commit_id":"47e7669c3f9b108eeea278e9604930bd7fbdc985"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"77aaf88f9736286d7b9c94bd8e41a2a61bab9cfe","unresolved":false,"context_lines":[{"line_number":22,"context_line":"                       \"Make sure cookies are enabled and try again.\")"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def test_no_csrf(self):"},{"line_number":25,"context_line":"        reason \u003d views.get_csrf_reason(\"\")"},{"line_number":26,"context_line":"        self.assertEqual(\"\", reason)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_valid_csrf(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_b87630d4","line":25,"range":{"start_line":25,"start_character":39,"end_line":25,"end_character":41},"in_reply_to":"9f560f44_18759c98","updated":"2020-10-12 11:33:35.000000000","message":"Done","commit_id":"47e7669c3f9b108eeea278e9604930bd7fbdc985"}],"openstack_auth/views.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3ba18801a860755f2f95190d23ee45e54c86618b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    else:"},{"line_number":102,"context_line":"        form \u003d functional.curry(forms.Login, initial\u003dinitial)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    import urllib"},{"line_number":105,"context_line":"    choices \u003d settings.WEBSSO_CHOICES"},{"line_number":106,"context_line":"    reason \u003d request.GET.get(\u0027csrf_failure\u0027)"},{"line_number":107,"context_line":"    if reason:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_78c02fe1","line":104,"updated":"2020-10-09 17:12:07.000000000","message":"pep8: F401 \u0027urllib\u0027 imported but unused","commit_id":"9f5e842256c9b6fdece2679b5325f580fa6f466d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3ba18801a860755f2f95190d23ee45e54c86618b","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        if reason:"},{"line_number":117,"context_line":"            reason +\u003d \" \""},{"line_number":118,"context_line":"        reason +\u003d str(_(\"Cookies may be turned off. \""},{"line_number":119,"context_line":"                    \"Make sure cookies are enabled and try again.\"))"},{"line_number":120,"context_line":"    extra_context \u003d {"},{"line_number":121,"context_line":"        \u0027redirect_field_name\u0027: auth.REDIRECT_FIELD_NAME,"},{"line_number":122,"context_line":"        \u0027csrf_failure\u0027: reason,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_d8b17b93","line":119,"updated":"2020-10-09 17:12:07.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9f5e842256c9b6fdece2679b5325f580fa6f466d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"32f9c135e5c9ff07cec2514cfba0f7be030af3d3","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"def get_csrf_reason(reason):"},{"line_number":52,"context_line":"    if not reason:"},{"line_number":53,"context_line":"        return"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    if reason not in [csrf.REASON_NO_REFERER,"},{"line_number":56,"context_line":"                      csrf.REASON_BAD_REFERER,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_2ee5badb","line":53,"range":{"start_line":52,"start_character":4,"end_line":53,"end_character":14},"updated":"2020-10-12 13:26:23.000000000","message":"nice. I like this rather than the previous version.","commit_id":"8a963626e12ee25cf2f9ab29c172b16f5bbce4c9"}],"openstack_dashboard/views.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3ba18801a860755f2f95190d23ee45e54c86618b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from django import shortcuts"},{"line_number":22,"context_line":"from django import urls"},{"line_number":23,"context_line":"from django.utils.encoding import smart_text"},{"line_number":24,"context_line":"from django.utils.translation import ugettext as _"},{"line_number":25,"context_line":"import django.views.decorators.vary"},{"line_number":26,"context_line":"from django.views.generic import TemplateView"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_98bb8373","line":24,"updated":"2020-10-09 17:12:07.000000000","message":"pep8: F401 \u0027django.utils.translation.ugettext as _\u0027 imported but unused","commit_id":"9f5e842256c9b6fdece2679b5325f580fa6f466d"}]}
