)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"31c959d5b83d75611a1ba2d36dc029858aad1519","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     samta \u003csrangare@mvista.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-04 19:09:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Alarms listing based on \"timestamp\". Fixes bug #1287119"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ia6d2d4215c5ece093ab7fa4475dae8dc8fc50d7f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_8b004f03","line":7,"range":{"start_line":7,"start_character":37,"end_line":7,"end_character":42},"updated":"2014-07-07 10:25:55.000000000","message":"Hi) It will be more clear and formally if you move \"Fixes bug\" to a new line and create more detailed description of changes.","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"5eb9de3b4543a9bfc866acdf5769cecdc0cf5865","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2014-07-04 19:09:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Alarms listing based on \"timestamp\". Fixes bug #1287119"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ia6d2d4215c5ece093ab7fa4475dae8dc8fc50d7f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_e73c7e31","line":8,"updated":"2014-07-08 02:41:33.000000000","message":"agree with Ilya Tyaptin :), how to write commit message, FYI:\nhttp://docs.openstack.org/developer/hacking/#commit-messages","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"}],"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"968813dd9c3b36475f7d8eb9a8c3f3e32e3687d3","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    field \u003d wtypes.text"},{"line_number":191,"context_line":"    \"The name of the field to test\""},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    # op \u003d wsme.wsattr(operation_kind, default\u003d\u0027eq\u0027)"},{"line_number":194,"context_line":"    # this ^ doesn\u0027t seem to work."},{"line_number":195,"context_line":"    op \u003d wsme.wsproperty(operation_kind, get_op, set_op)"},{"line_number":196,"context_line":"    \"The comparison operator. Defaults to \u0027eq\u0027.\""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_d95de17a","side":"PARENT","line":193,"updated":"2014-07-04 12:53:52.000000000","message":"why delete the white space?","commit_id":"96d16ad49013e18e6a1ac639a783cf3bbd07d9f7"},{"author":{"_account_id":10488,"name":"Artur Svechnikov","email":"asvechnikov@mirantis.com","username":"asvechnikov"},"change_message_id":"6443cf8b39734f25bdea6962efaf616887d07ae7","unresolved":false,"context_lines":[{"line_number":978,"context_line":"        meter_id \u003d base64.encodestring(\u0027%s+%s\u0027 % (kwargs[\u0027resource_id\u0027],"},{"line_number":979,"context_line":"                                                  kwargs[\u0027name\u0027]))"},{"line_number":980,"context_line":"        kwargs[\u0027meter_id\u0027] \u003d meter_id"},{"line_number":981,"context_line":"\tmeter_id \u003d meter_id.rstrip(\u0027\\n\u0027)"},{"line_number":982,"context_line":"        super(Meter, self).__init__(**kwargs)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_59e0f195","line":981,"updated":"2014-07-04 12:59:46.000000000","message":"I don\u0027t see any reasons for rstrip.","commit_id":"6b8b679930e52b79bdee1a261db64ebf23ac57cc"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"31c959d5b83d75611a1ba2d36dc029858aad1519","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_56025ab4","line":2153,"updated":"2014-07-07 10:25:55.000000000","message":"I think code will be more clearer if you write:\n\nalarms \u003d  sorted(pecan.request.storage_conn.get_alarms(**kwargs), key\u003dlambda k: getattr(k, \u0027timestamp\u0027))\n\nreturn[Alarm.from_db_model(m) for m in alarms]\n\nAt this case list \u0027records\u0027 unnecessary and we call few constructors)","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"5eb9de3b4543a9bfc866acdf5769cecdc0cf5865","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_128a8e63","line":2153,"in_reply_to":"baada198_00232a56","updated":"2014-07-08 02:41:33.000000000","message":"Hi samta\n\n1. maybe the sorting action should be in db layer, because db lay has provided *order_by* method, e.g.\n\n2. To modify this change a again, you can modify you changing code locally in you git bug branch, and use \"git commit -a --amend\" (the --amend will keep the change_id unchanged)to commit your change to local git repo, and then use \"git review\" to upload to gerrit.\n\n3. you don\u0027t need waiting any bug confirmation if the change is valuable :)","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"016f979fb2238871c34e1beb98af8eec881bfe81","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_e7ad5e32","line":2153,"in_reply_to":"baada198_00232a56","updated":"2014-07-08 02:20:19.000000000","message":"remove here unnecessary spaces/tabs and these strange symbols that start the 2147-2155 lines (I guess you\u0027re using here unset tabs, that leads to the \u0027tab\u0027 symbol, not the 4 spaces for each one).","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":12256,"name":"Samta Rangare","email":"samtarangare@gmail.com","username":"samta"},"change_message_id":"3911a294e264c898b8283d612267a8336e2ea6e7","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_93512411","line":2153,"in_reply_to":"baada198_128a8e63","updated":"2014-07-08 18:13:15.000000000","message":"Hello lisheng, thanks for review :)\n1. Even i also thought to perform the action on db layer, but then i will have to do the changes in each db (hbase,sqlalchamy etc). So i decided to do the sorting on v2.py where get_all() is called for listing alarm. Please enlighten me :)\n2. Yes i will do the changes on my local git bug branch and after commit upload for git review as you and Iiya has suggested.","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":12256,"name":"Samta Rangare","email":"samtarangare@gmail.com","username":"samta"},"change_message_id":"799e72112d0f302a2f237ceb24556f3979df1dbe","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_00232a56","line":2153,"in_reply_to":"baada198_56025ab4","updated":"2014-07-07 17:03:03.000000000","message":"Hey Ilya Tyapin, \nAs i am ramping up in python and ceilometer both, such comments are really valuable.\nNow can you please suggest me if i can submit the patch again according to your suggestion.\nAlso there is a need to change in python-ceilometerclient in order to display alarm-list ordered by \u0027timestamp\u0027. I raised the bug there but havn\u0027t get any confirmation. I have done changes on ceilometerclient side as well.","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"},{"author":{"_account_id":12256,"name":"Samta Rangare","email":"samtarangare@gmail.com","username":"samta"},"change_message_id":"3911a294e264c898b8283d612267a8336e2ea6e7","unresolved":false,"context_lines":[{"line_number":2150,"context_line":"\t\trecords.append(m.as_dict())"},{"line_number":2151,"context_line":""},{"line_number":2152,"context_line":"\talarms \u003d sorted(records, key\u003dlambda k: k[\u0027timestamp\u0027])"},{"line_number":2153,"context_line":"\t"},{"line_number":2154,"context_line":"\treturn[Alarm.from_db_model(alarm_models.Alarm(**m))"},{"line_number":2155,"context_line":"\t\tfor m in alarms]"},{"line_number":2156,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_f0d976f5","line":2153,"in_reply_to":"baada198_e7ad5e32","updated":"2014-07-08 18:13:15.000000000","message":"Hi Dina, Yes i am supposed to use 4 spaces and that is probably one reason for build fail. Thanks for the pointer","commit_id":"00c84c91bd100c6f63a906377e9d400c0fcbbd70"}]}
