)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"a4d4df8870863466d5026416463bc6d1d3c60096","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Alarms listing based on \"timestamp\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, Alarms are listed based on \"Alarm_id\". This fix will order it according to the \"Timestamp\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I81e6b671f3eed53a6261d50286f586390510b2ab"},{"line_number":12,"context_line":"Fixes bug #1287119"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_44d396d4","line":9,"updated":"2014-07-14 11:40:37.000000000","message":"please fit the 80 symbols margin in commit message as well.","commit_id":"c4f00816d66306f9b85be833dd4d81eb97e8b890"}],"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"31f609aa2d16f9f59668b6fa951ddea5e8e13256","unresolved":false,"context_lines":[{"line_number":2131,"context_line":"                                  allow_timestamps\u003dFalse)"},{"line_number":2132,"context_line":"        alarms \u003d sorted(pecan.request.storage_conn.get_alarms(**kwargs),"},{"line_number":2133,"context_line":"                        key\u003dlambda k: (getattr(k, \u0027timestamp\u0027) is not None,"},{"line_number":2134,"context_line":"                        getattr(k, \u0027timestamp\u0027)))"},{"line_number":2135,"context_line":""},{"line_number":2136,"context_line":"        return [Alarm.from_db_model(m)"},{"line_number":2137,"context_line":"                for m in alarms]"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_d20004ae","line":2134,"range":{"start_line":2134,"start_character":24,"end_line":2134,"end_character":47},"updated":"2014-09-16 09:48:05.000000000","message":"Simpler as:\n\n  key\u003doperator.attrgetter(\u0027timestamp\u0027))","commit_id":"c4f00816d66306f9b85be833dd4d81eb97e8b890"}],"ceilometer/tests/api/v2/test_alarm_scenarios.py":[{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"8678084dd21fd344b7d29e38759d1c3dbf1df040","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        alarms \u003d self.get_json(\u0027/alarms\u0027)"},{"line_number":236,"context_line":"        updated_timestamps \u003d [alarms[0][\u0027timestamp\u0027], alarms[1][\u0027timestamp\u0027],"},{"line_number":237,"context_line":"                              alarms[2][\u0027timestamp\u0027], alarms[3][\u0027timestamp\u0027]]"},{"line_number":238,"context_line":"        ordered_timestamps \u003d sorted(updated_timestamps, key\u003dlambda"},{"line_number":239,"context_line":"                                    k: (k is not None, k))"},{"line_number":240,"context_line":"        self.assertEqual(ordered_timestamps, updated_timestamps)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_get_not_existing_alarm(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da9df570_4edec66e","line":239,"range":{"start_line":238,"start_character":56,"end_line":239,"end_character":57},"updated":"2014-09-24 14:40:10.000000000","message":"Is this key are get different results compared with sorted(updated_timestamp)? This lambda is put None elements to beginning of the list. None already is less than any other value.","commit_id":"c4f00816d66306f9b85be833dd4d81eb97e8b890"}]}
