)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bf45926ab3f8f0f123e0e2dd46a8db2b4bae18f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7dd5e95e_b6418219","updated":"2024-07-08 14:40:48.000000000","message":"Hello James, do you have some updates regarding this patch? We have some open reviews.","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"1e379c11b7ce3679186a8f49d038027f6af4afc3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b062425b_6f499fc0","updated":"2024-06-10 14:29:29.000000000","message":"Hi James. Can you clarify what is the issue with Python 3.12?","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"53bf670ee01a4e7e9323095c618954e3956d0d88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ea69b564_4189d0c2","updated":"2024-04-15 14:16:50.000000000","message":"Thanks for the patch James. However, I have a question, why rounding in the server side/API and not in the client side?","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"43f2cc7e0a1eca7324c770ca4eb55a1b432612da","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bed78178_a1a4d66e","in_reply_to":"b062425b_6f499fc0","updated":"2024-07-08 14:40:38.000000000","message":"Hi James. Just checking with you if you were able to double check if this patch is really needed?","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c1320fa46d9f3ad11cfad79839991fa927e9a564","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"66234616_0268aef7","in_reply_to":"bed78178_a1a4d66e","updated":"2024-10-21 13:22:43.000000000","message":"Done","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"8e3cde8de396d05df3ad522ce13ee1c65432a769","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"16fe0b7c_4a40851a","updated":"2024-10-24 16:07:43.000000000","message":"Hello guys, \nI have amended the patch. Can you review it? So, we can fix the pipeline.","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c10ed696dfd874096213f040d55b005f9f24baa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"53a8cc11_8e8150be","updated":"2024-10-24 16:39:37.000000000","message":"Thanks Pedro!","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"9d46c9d7d8dde7af155809a9eebb87d344a11b6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"941215ab_a33e450f","updated":"2024-10-28 12:14:19.000000000","message":"Thank you both for fixing the remaining issues with this patch. I just updated the commit message to match the changes that were made.","commit_id":"313ef8b110508885663644ea839f7340a8fbdb2a"}],"cloudkitty/api/v1/controllers/report.py":[{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"53bf670ee01a4e7e9323095c618954e3956d0d88","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        if result[\u0027total\u0027] \u003c 1:"},{"line_number":111,"context_line":"            return decimal.Decimal(\u00270\u0027)"},{"line_number":112,"context_line":"        return round(sum(total[\u0027rate\u0027] for total in result[\u0027results\u0027]), 3)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    @wsme_pecan.wsexpose(report_models.SummaryCollectionModel,"},{"line_number":115,"context_line":"                         datetime.datetime,"},{"line_number":116,"context_line":"                         datetime.datetime,"}],"source_content_type":"text/x-python","patch_set":1,"id":"2670854b_dfa037c6","line":113,"range":{"start_line":112,"start_character":15,"end_line":113,"end_character":1},"updated":"2024-04-15 14:16:50.000000000","message":"Why do we need this round here? It will change the behavior of the API.","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"c1320fa46d9f3ad11cfad79839991fa927e9a564","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        if result[\u0027total\u0027] \u003c 1:"},{"line_number":111,"context_line":"            return decimal.Decimal(\u00270\u0027)"},{"line_number":112,"context_line":"        return round(sum(total[\u0027rate\u0027] for total in result[\u0027results\u0027]), 3)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    @wsme_pecan.wsexpose(report_models.SummaryCollectionModel,"},{"line_number":115,"context_line":"                         datetime.datetime,"},{"line_number":116,"context_line":"                         datetime.datetime,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ac23eafe_3e1a3091","line":113,"range":{"start_line":112,"start_character":15,"end_line":113,"end_character":1},"in_reply_to":"2670854b_dfa037c6","updated":"2024-10-21 13:22:43.000000000","message":"Done","commit_id":"293133d3770c5122db85f98e26066d38cb2774f7"}],"cloudkitty/tests/gabbi/gabbits/v1-report.yaml":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"c214a92bbf0fd2bf786d63cb9cdbe3a11ed644c3","unresolved":true,"context_lines":[{"line_number":76,"context_line":"      service: \"cpu\""},{"line_number":77,"context_line":"    status: 200"},{"line_number":78,"context_line":"    response_strings:"},{"line_number":79,"context_line":"      - \"/(224.61)(\\\\d+)?/\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  - name: get total for a period filtering on image service"},{"line_number":82,"context_line":"    url: /v1/report/total"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bb234a97_09d34070","line":79,"updated":"2024-10-24 16:34:08.000000000","message":"you could use \\\\d* instead of \\\\d+?","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"3e0a6ea79b2641373d5e5139f4320dc9d095e2f9","unresolved":false,"context_lines":[{"line_number":76,"context_line":"      service: \"cpu\""},{"line_number":77,"context_line":"    status: 200"},{"line_number":78,"context_line":"    response_strings:"},{"line_number":79,"context_line":"      - \"/(224.61)(\\\\d+)?/\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  - name: get total for a period filtering on image service"},{"line_number":82,"context_line":"    url: /v1/report/total"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"902e575d_d532e957","line":79,"in_reply_to":"bb234a97_09d34070","updated":"2024-10-24 16:39:31.000000000","message":"Done","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"}],"cloudkitty/tests/storage/v1/test_storage.py":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"c214a92bbf0fd2bf786d63cb9cdbe3a11ed644c3","unresolved":true,"context_lines":[{"line_number":157,"context_line":"            end\u003dend)[\u0027results\u0027]"},{"line_number":158,"context_line":"        # FIXME(sheeprine): floating point error (transition to decimal)"},{"line_number":159,"context_line":"        self.assertEqual(1, len(total))"},{"line_number":160,"context_line":"        self.assertTrue(math.isclose(1.9473999999999998, total[0][\"rate\"]))"},{"line_number":161,"context_line":"        self.assertEqual(begin, total[0][\"begin\"])"},{"line_number":162,"context_line":"        self.assertEqual(end, total[0][\"end\"])"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"eaaf7be5_11437c26","line":160,"updated":"2024-10-24 16:34:08.000000000","message":"did you try to use \n\n```\nself.assertAlmostEqual(1.9473999999999998, total[0][\"rate\"], delta\u003d1e-9)\n```\n\n?","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"3e0a6ea79b2641373d5e5139f4320dc9d095e2f9","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            end\u003dend)[\u0027results\u0027]"},{"line_number":158,"context_line":"        # FIXME(sheeprine): floating point error (transition to decimal)"},{"line_number":159,"context_line":"        self.assertEqual(1, len(total))"},{"line_number":160,"context_line":"        self.assertTrue(math.isclose(1.9473999999999998, total[0][\"rate\"]))"},{"line_number":161,"context_line":"        self.assertEqual(begin, total[0][\"begin\"])"},{"line_number":162,"context_line":"        self.assertEqual(end, total[0][\"end\"])"},{"line_number":163,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"bf4ca288_e27463ad","line":160,"in_reply_to":"eaaf7be5_11437c26","updated":"2024-10-24 16:39:31.000000000","message":"Done","commit_id":"01ced6c6b9d8877bdb0f79495e3a1022d9787d9a"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"6dd8c647d09d9070eae1b0f230d4d6f71a8ecb0c","unresolved":true,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"import copy"},{"line_number":17,"context_line":"import datetime"},{"line_number":18,"context_line":"import math"},{"line_number":19,"context_line":"from unittest import mock"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import testscenarios"}],"source_content_type":"text/x-python","patch_set":7,"id":"5b127a00_cd1ff08a","line":18,"updated":"2024-10-24 16:43:12.000000000","message":"is this import still necessary?","commit_id":"dc9b8737ec9e1a9a4d73072eaae2f981bc116338"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"8ff2cc998fdc44c150be32089d9498d10c90f2cb","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"import copy"},{"line_number":17,"context_line":"import datetime"},{"line_number":18,"context_line":"import math"},{"line_number":19,"context_line":"from unittest import mock"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import testscenarios"}],"source_content_type":"text/x-python","patch_set":7,"id":"20f1bd5f_399b5ede","line":18,"in_reply_to":"5b127a00_cd1ff08a","updated":"2024-10-24 16:44:56.000000000","message":"Done","commit_id":"dc9b8737ec9e1a9a4d73072eaae2f981bc116338"}]}
