)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1261a667c358a78f58d2a5e6eb1a68158abb9fa7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andrey Kurilin \u003candr.kurilin@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-19 13:23:23 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[verify][reports] Add comparison of verifications"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifdcce17ff8ffd7522accba8b4db2070fc68cd472"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6eadb0_4073a8b4","line":7,"updated":"2016-12-19 15:45:37.000000000","message":"Add duration comparison for verifications tests","commit_id":"36d575debeaa4b67111487128114853afec8efdf"}],"rally/ui/report.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1261a667c358a78f58d2a5e6eb1a68158abb9fa7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        report \u003d copy.deepcopy(self.report)"},{"line_number":90,"context_line":"        uuids \u003d report[\"verifications\"].keys()"},{"line_number":91,"context_line":"        for test in report[\"tests\"].values():"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            # compare verifications"},{"line_number":94,"context_line":"            if len(test[\"by_verification\"]) \u003e 1:"},{"line_number":95,"context_line":"                results \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_dd479f1b","line":92,"updated":"2016-12-19 15:45:37.000000000","message":"Let\u0027s delete this blank line.","commit_id":"36d575debeaa4b67111487128114853afec8efdf"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1261a667c358a78f58d2a5e6eb1a68158abb9fa7","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        uuids \u003d report[\"verifications\"].keys()"},{"line_number":91,"context_line":"        for test in report[\"tests\"].values():"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            # compare verifications"},{"line_number":94,"context_line":"            if len(test[\"by_verification\"]) \u003e 1:"},{"line_number":95,"context_line":"                results \u003d []"},{"line_number":96,"context_line":"                # iter by uuids to store right order for comparison"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_7d576bca","line":93,"updated":"2016-12-19 15:45:37.000000000","message":"compare verifications tests by duration\n\n\nWe compare verifications tests by duration, not whole verifications.","commit_id":"36d575debeaa4b67111487128114853afec8efdf"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1261a667c358a78f58d2a5e6eb1a68158abb9fa7","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            # compare verifications"},{"line_number":94,"context_line":"            if len(test[\"by_verification\"]) \u003e 1:"},{"line_number":95,"context_line":"                results \u003d []"},{"line_number":96,"context_line":"                # iter by uuids to store right order for comparison"},{"line_number":97,"context_line":"                for uuid in uuids:"},{"line_number":98,"context_line":"                    if uuid in test[\"by_verification\"]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_3d2b3335","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":23},"updated":"2016-12-19 15:45:37.000000000","message":"I understand that it really doesn\u0027t matter but let\u0027s rename \u0027results\u0027 to \u0027durations\u0027.","commit_id":"36d575debeaa4b67111487128114853afec8efdf"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1261a667c358a78f58d2a5e6eb1a68158abb9fa7","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                            test[\"by_verification\"][uuid][\"duration\"])"},{"line_number":101,"context_line":"                        if len(results) \u003e 1:"},{"line_number":102,"context_line":"                            diff \u003d float(results[-1]) - float(results[-2])"},{"line_number":103,"context_line":"                            result \u003d \"%s (\" % results[-1]"},{"line_number":104,"context_line":"                            if diff \u003e 0:"},{"line_number":105,"context_line":"                                result +\u003d \"+\""},{"line_number":106,"context_line":"                            result +\u003d \"%s)\" % diff"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_e00f542c","line":103,"range":{"start_line":103,"start_character":28,"end_line":103,"end_character":34},"updated":"2016-12-19 15:45:37.000000000","message":"\u0027duration\u0027. If L107 is too long, just \u0027d\u0027 then.","commit_id":"36d575debeaa4b67111487128114853afec8efdf"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e0c9f86e2314bc9916cfe5b35397352c4a36044d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"                    durations.append(duration)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_6ab3160b","line":109,"range":{"start_line":106,"start_character":20,"end_line":109,"end_character":70},"updated":"2016-12-19 16:04:06.000000000","message":"We have such check in https://github.com/openstack/rally/blob/master/rally/ui/templates/verification/report.html#L53-L54. IMHO, redundant.","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"f96c17c9357cd047c8779c509456751cb78986d2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"                    durations.append(duration)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_dde14d00","line":109,"range":{"start_line":106,"start_character":20,"end_line":109,"end_character":70},"in_reply_to":"1a6eadb0_6ab3160b","updated":"2016-12-19 17:57:02.000000000","message":"I moved it here to reduce processing at js side.","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e0c9f86e2314bc9916cfe5b35397352c4a36044d","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"                    if len(durations) \u003e 1:"},{"line_number":114,"context_line":"                        diff \u003d float(durations[-1]) - float(durations[-2])"},{"line_number":115,"context_line":"                        if abs(diff) \u003e 0.1:"},{"line_number":116,"context_line":"                            # NOTE(andreykurilin): I think less diff is not"},{"line_number":117,"context_line":"                            #   interesting at all"},{"line_number":118,"context_line":"                            if diff \u003e 0:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_2ab59ecf","line":115,"range":{"start_line":115,"start_character":24,"end_line":115,"end_character":42},"updated":"2016-12-19 16:04:06.000000000","message":"I think any diff will be useful :)","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":22960,"name":"Hai Shi","email":"shihai1992@gmail.com","username":"haishi"},"change_message_id":"b1787c192659bc1f8338a6fcd2d56b54254ee8bc","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                    if len(durations) \u003e 1:"},{"line_number":114,"context_line":"                        diff \u003d float(durations[-1]) - float(durations[-2])"},{"line_number":115,"context_line":"                        if abs(diff) \u003e 0.1:"},{"line_number":116,"context_line":"                            # NOTE(andreykurilin): I think less diff is not"},{"line_number":117,"context_line":"                            #   interesting at all"},{"line_number":118,"context_line":"                            if diff \u003e 0:"},{"line_number":119,"context_line":"                                res \u003d \"%s (\" % durations[-1]"},{"line_number":120,"context_line":"                                res +\u003d \"+\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_254cf175","line":117,"range":{"start_line":116,"start_character":27,"end_line":117,"end_character":50},"updated":"2016-12-19 16:16:31.000000000","message":"Maybe in future, users could get what he interested.","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"f96c17c9357cd047c8779c509456751cb78986d2","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                    if len(durations) \u003e 1:"},{"line_number":114,"context_line":"                        diff \u003d float(durations[-1]) - float(durations[-2])"},{"line_number":115,"context_line":"                        if abs(diff) \u003e 0.1:"},{"line_number":116,"context_line":"                            # NOTE(andreykurilin): I think less diff is not"},{"line_number":117,"context_line":"                            #   interesting at all"},{"line_number":118,"context_line":"                            if diff \u003e 0:"},{"line_number":119,"context_line":"                                res \u003d \"%s (\" % durations[-1]"},{"line_number":120,"context_line":"                                res +\u003d \"+\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_5dee1ded","line":117,"range":{"start_line":116,"start_character":27,"end_line":117,"end_character":50},"in_reply_to":"1a6eadb0_254cf175","updated":"2016-12-19 17:57:02.000000000","message":"we will make it configurable someday","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"2bf6fe8e348c6cf5d814bae182af00273a4b90cf","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                        if abs(diff) \u003e 0.1:"},{"line_number":116,"context_line":"                            # NOTE(andreykurilin): I think less diff is not"},{"line_number":117,"context_line":"                            #   interesting at all"},{"line_number":118,"context_line":"                            if diff \u003e 0:"},{"line_number":119,"context_line":"                                res \u003d \"%s (\" % durations[-1]"},{"line_number":120,"context_line":"                                res +\u003d \"+\""},{"line_number":121,"context_line":"                                res +\u003d \"%s)\" % diff"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_2993eba4","line":118,"range":{"start_line":118,"start_character":28,"end_line":118,"end_character":39},"updated":"2016-12-19 16:37:41.000000000","message":"diff may be negative.","commit_id":"464083708e4fa2cef12e467a626fbea29a018fcb"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                \"tests\": v.tests"},{"line_number":49,"context_line":"            }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        verifications \u003d {}"},{"line_number":52,"context_line":"        tests \u003d {}"},{"line_number":53,"context_line":"        for uuid, verification in results.items():"},{"line_number":54,"context_line":"            verification_tests \u003d verification.pop(\"tests\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_c30ed0e4","line":51,"updated":"2016-12-20 13:59:46.000000000","message":"Please, use collections.OrderedDict() here as well.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bb9729b5c05d522d49f14f3fc992582a2629264b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                \"tests\": v.tests"},{"line_number":49,"context_line":"            }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        verifications \u003d {}"},{"line_number":52,"context_line":"        tests \u003d {}"},{"line_number":53,"context_line":"        for uuid, verification in results.items():"},{"line_number":54,"context_line":"            verification_tests \u003d verification.pop(\"tests\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_6eee93b5","line":51,"in_reply_to":"1a6eadb0_3308842d","updated":"2016-12-20 14:57:47.000000000","message":"oh...we do not use results at all except __init__ method . it looks redundant... will fix","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"043f70dee808907bdae630737c9aab87b8d4bf17","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                \"tests\": v.tests"},{"line_number":49,"context_line":"            }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        verifications \u003d {}"},{"line_number":52,"context_line":"        tests \u003d {}"},{"line_number":53,"context_line":"        for uuid, verification in results.items():"},{"line_number":54,"context_line":"            verification_tests \u003d verification.pop(\"tests\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_3308842d","line":51,"in_reply_to":"1a6eadb0_53c98077","updated":"2016-12-20 14:46:30.000000000","message":"Please, take a look at L55. If verifications \u003d {}, we will not have proper order of uuids.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ed9f243de00ad28044dad22c61a31ed4deb9aad","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                \"tests\": v.tests"},{"line_number":49,"context_line":"            }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        verifications \u003d {}"},{"line_number":52,"context_line":"        tests \u003d {}"},{"line_number":53,"context_line":"        for uuid, verification in results.items():"},{"line_number":54,"context_line":"            verification_tests \u003d verification.pop(\"tests\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_53c98077","line":51,"in_reply_to":"1a6eadb0_c30ed0e4","updated":"2016-12-20 14:39:53.000000000","message":"there is no need to do it, since report iterates by transmitted uuids.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            durations \u003d []"},{"line_number":102,"context_line":"            # iter by uuids to store right order for comparison"},{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_425610d3","line":104,"updated":"2016-12-20 13:59:46.000000000","message":"It looks like this check is redundant. uuid should be always in test[\"by_verification\"].","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ed9f243de00ad28044dad22c61a31ed4deb9aad","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            durations \u003d []"},{"line_number":102,"context_line":"            # iter by uuids to store right order for comparison"},{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_53c5003a","line":104,"in_reply_to":"1a6eadb0_425610d3","updated":"2016-12-20 14:39:53.000000000","message":"no. we can compare several totally different verifications. For example, one verification will use full set_name, another compute set_name. In this case, several tests will have two results, and several tests will have only one.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"043f70dee808907bdae630737c9aab87b8d4bf17","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            durations \u003d []"},{"line_number":102,"context_line":"            # iter by uuids to store right order for comparison"},{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_ae026b07","line":104,"in_reply_to":"1a6eadb0_53c5003a","updated":"2016-12-20 14:46:30.000000000","message":"It looks like you are right, thanks!","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_22f594ca","line":106,"range":{"start_line":106,"start_character":41,"end_line":106,"end_character":47},"updated":"2016-12-20 13:59:46.000000000","message":"As far as I know we use \u00270.000\u0027 format everywhere. Let\u0027s change it to 0.001.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"bb9729b5c05d522d49f14f3fc992582a2629264b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            for uuid in uuids:"},{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_5378a0f2","line":106,"range":{"start_line":106,"start_character":41,"end_line":106,"end_character":47},"in_reply_to":"1a6eadb0_22f594ca","updated":"2016-12-20 14:57:47.000000000","message":"Done","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_82ee6889","line":107,"updated":"2016-12-20 13:59:46.000000000","message":"0.000","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3ed9f243de00ad28044dad22c61a31ed4deb9aad","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_b315749c","line":107,"in_reply_to":"1a6eadb0_82ee6889","updated":"2016-12-20 14:39:53.000000000","message":"it used just for comparison at L114. float(\"0\") and float(\"0.000\") gives the same result)","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"043f70dee808907bdae630737c9aab87b8d4bf17","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                if uuid in test[\"by_verification\"]:"},{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_ae50ab0b","line":107,"in_reply_to":"1a6eadb0_b315749c","updated":"2016-12-20 14:46:30.000000000","message":"Yep, I know it, but \"0.000\" looks sweeter :)","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"                    durations.append(duration)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_22d754c0","line":108,"range":{"start_line":108,"start_character":53,"end_line":108,"end_character":60},"updated":"2016-12-20 13:59:46.000000000","message":"duration","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"6c17551edf334d42b5d17143c0f5fb4e9bec2d17","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                    duration \u003d test[\"by_verification\"][uuid][\"duration\"]"},{"line_number":106,"context_line":"                    if float(duration) \u003c 0.0001:"},{"line_number":107,"context_line":"                        duration \u003d \"0\""},{"line_number":108,"context_line":"                        # do not display such little results in report"},{"line_number":109,"context_line":"                        test[\"by_verification\"][uuid][\"duration\"] \u003d \"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"                    durations.append(duration)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_e2e0fcfc","line":108,"range":{"start_line":108,"start_character":26,"end_line":108,"end_character":32},"updated":"2016-12-20 13:59:46.000000000","message":"not to","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"b670a0d8dbceb18600b3efac38c3dd9b20f1a040","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                    durations.append(duration)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"                    if len(durations) \u003e 1:"},{"line_number":114,"context_line":"                        diff \u003d float(durations[-1]) - float(durations[-2])"},{"line_number":115,"context_line":"                        result \u003d \"%s (\" % durations[-1]"},{"line_number":116,"context_line":"                        if diff \u003e 0:"},{"line_number":117,"context_line":"                            result +\u003d \"+\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_b9663327","line":114,"range":{"start_line":114,"start_character":70,"end_line":114,"end_character":72},"updated":"2016-12-20 15:21:08.000000000","message":"Please, change it to 0 as we discussed at the meeting.","commit_id":"3aaa76ee8f88887fa30edf63446facea0469db19"}]}
