)]}'
{"horizon/dashboards/syspanel/flavors/extras/forms.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        flavor_id \u003d data[\u0027flavor_id\u0027]"},{"line_number":41,"context_line":"        origkey \u003d data[\u0027origkey\u0027]"},{"line_number":42,"context_line":"        key \u003d data[\u0027key\u0027]"},{"line_number":43,"context_line":"        task \u003d \u0027Create\u0027 if (origkey \u003d\u003d \u0027None\u0027) else \u0027Update\u0027"},{"line_number":44,"context_line":"        if (task \u003d\u003d \u0027Create\u0027):"},{"line_number":45,"context_line":"            origkey \u003d key"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgI%3D","line":43,"updated":"2012-09-18 09:06:52.000000000","message":"Related to the comment in views.py - using \u0027None\u0027 as string literal is not so pythonic.","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                api.nova.flavor_unset_keys(request, flavor_id, [origkey])"},{"line_number":50,"context_line":"            #set new key"},{"line_number":51,"context_line":"            api.nova.flavor_set_keys(request, flavor_id, {key: data[\u0027value\u0027]})"},{"line_number":52,"context_line":"            msg \u003d _(\u0027%sd extra spec \"%s\".\u0027) % (task, key)"},{"line_number":53,"context_line":"            messages.success(request, msg)"},{"line_number":54,"context_line":"            return True"},{"line_number":55,"context_line":"        except:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgU%3D","line":52,"updated":"2012-09-18 09:06:52.000000000","message":"An interesting case - translating the message, while passing an untranslated verb in it... The message should be described with full text for both cases.","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"}],"horizon/dashboards/syspanel/flavors/extras/tables.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"class Close (tables.LinkAction):"},{"line_number":47,"context_line":"    name \u003d \"close\""},{"line_number":48,"context_line":"    verbose_name \u003d _(\"Close\")"},{"line_number":49,"context_line":"    url \u003d \"/syspanel/flavors/\"  # \"horizon:syspanel:flavors\""},{"line_number":50,"context_line":"    classes \u003d (\"btn-list\")"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXg0%3D","line":48,"updated":"2012-09-18 09:06:52.000000000","message":"This \u0027Close\u0027 button is kind of confusing - there are no such buttons anywhere in Horizon. In fact the general concept is to make this a modal dialog.","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"class Close (tables.LinkAction):"},{"line_number":47,"context_line":"    name \u003d \"close\""},{"line_number":48,"context_line":"    verbose_name \u003d _(\"Close\")"},{"line_number":49,"context_line":"    url \u003d \"/syspanel/flavors/\"  # \"horizon:syspanel:flavors\""},{"line_number":50,"context_line":"    classes \u003d (\"btn-list\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXg8%3D","line":49,"updated":"2012-09-18 09:06:52.000000000","message":"This should not be a relative path. Why is second url commented? Doesn\u0027t work?","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"}],"horizon/dashboards/syspanel/flavors/extras/tests.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"        flavor \u003d self.flavors.first()"},{"line_number":13,"context_line":"        extras \u003d {}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"        self.mox.StubOutWithMock(api.nova, \u0027flavor_get\u0027)"},{"line_number":16,"context_line":"        self.mox.StubOutWithMock(api.nova, \u0027flavor_get_keys\u0027)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"        # GET -- to determine correctness of output"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgk%3D","line":15,"updated":"2012-09-18 09:06:52.000000000","message":"move .StubOutWithMock() in @test decorator of method.","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        api.nova.flavor_get_keys(IsA(http.HttpRequest),"},{"line_number":21,"context_line":"                                 flavor.id).AndReturn(extras)"},{"line_number":22,"context_line":"        self.mox.ReplayAll()"},{"line_number":23,"context_line":"        #pdb.set_trace()"},{"line_number":24,"context_line":"        url \u003d \u0027/syspanel/flavors/%s/extras/\u0027 % (flavor.id)"},{"line_number":25,"context_line":"        resp \u003d self.client.get(url)"},{"line_number":26,"context_line":"        self.assertEqual(resp.status_code, 200)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgw%3D","line":23,"updated":"2012-09-18 09:06:52.000000000","message":"Such debug symbols should be removed.","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        resp \u003d self.client.get(url)"},{"line_number":26,"context_line":"        self.assertEqual(resp.status_code, 200)"},{"line_number":27,"context_line":"        self.assertTemplateUsed(resp, \"syspanel/flavors/extras/index.html\")"},{"line_number":28,"context_line":"        pass"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_extra_create_end(self):"},{"line_number":31,"context_line":"        flavor \u003d self.flavors.first()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgo%3D","line":28,"updated":"2012-09-18 09:06:52.000000000","message":"unused","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    def test_extra_create_end(self):"},{"line_number":31,"context_line":"        flavor \u003d self.flavors.first()"},{"line_number":32,"context_line":"        create_url \u003d \u0027/syspanel/flavors/%s/extras/create/\u0027 % (flavor.id)"},{"line_number":33,"context_line":"        #delete_url \u003d \u0027/syspanel/flavors/%s/extras/k1/delete/\u0027 % (flavor.id)"},{"line_number":34,"context_line":"        index_url \u003d \u0027/syspanel/flavors/%s/extras/\u0027 % (flavor.id)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        self.mox.StubOutWithMock(api.nova, \u0027flavor_set_keys\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgs%3D","line":33,"updated":"2012-09-18 09:06:52.000000000","message":"This line should be removed","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                \u0027key\u0027: \u0027k1\u0027,"},{"line_number":46,"context_line":"                \u0027value\u0027: \u0027v1\u0027}"},{"line_number":47,"context_line":"        resp \u003d self.client.post(create_url, data)"},{"line_number":48,"context_line":"        self.assertRedirectsNoFollow(resp, index_url)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_extra_create_begin(self):"},{"line_number":51,"context_line":"        flavor \u003d self.flavors.first()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgg%3D","line":48,"updated":"2012-09-18 09:06:52.000000000","message":"Some check for success message?","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"}],"horizon/dashboards/syspanel/flavors/extras/views.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"39abff968d4510ec05d67fce3262c4cb999ab8a3","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                              _(\"Unable to retrieve flavor data.\"))"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def get_initial(self):"},{"line_number":101,"context_line":"        return {\u0027flavor_id\u0027: self.kwargs[\u0027id\u0027], \u0027origkey\u0027: \u0027None\u0027}"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def get_success_url(self):"},{"line_number":104,"context_line":"        return \"/syspanel/flavors/%s/extras/\" % (self.kwargs[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FXgM%3D","line":101,"updated":"2012-09-18 09:06:52.000000000","message":"Why \u0027None\u0027 as string literal and not just None?","commit_id":"6d5e125af8063ca7994e0fa486d3abb4b107f5ef"}]}
