)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"36eb895de6d5c67193f74a760352e8145b93da9c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nicolas Simonds \u003cnic@metacloud.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-11 12:46:32 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Perform natural sorts on \"Hostname\" column on the Hypervisors panel"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The API calls just return the results in who-knows-what order, so"},{"line_number":10,"context_line":"explicitly sort them so they make sense.  Also tell jquery-tablesorter"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUX%2F%2BczM%3D","line":7,"updated":"2014-02-21 03:53:56.000000000","message":"just a nit: The first line should be limited to 50 characters.","commit_id":"a5be08074657ea8f452bfd227eeff7410e06bf91"}],"horizon/static/horizon/js/horizon.tables.js":[{"author":{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"},"change_message_id":"9c45d6b1862e1076ab3869d9dd20b70ce054578d","unresolved":false,"context_lines":[{"line_number":325,"context_line":"          header_options[i] \u003d {sorter: \u0027ipAddress\u0027};"},{"line_number":326,"context_line":"        } else if ($th.data(\u0027type\u0027) \u003d\u003d\u003d \u0027timesince\u0027){"},{"line_number":327,"context_line":"          header_options[i] \u003d {sorter: \u0027timesinceSorter\u0027};"},{"line_number":328,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":329,"context_line":"        } else if ($th.data(\u0027type\u0027) \u003d\u003d\u003d \u0027timestamp\u0027){"},{"line_number":330,"context_line":"          header_options[i] \u003d {sorter: \u0027timestampSorter\u0027};"},{"line_number":331,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/javascript","patch_set":7,"id":"AAAAW3%2F%2Fg2A%3D","line":328,"updated":"2014-04-14 03:37:53.000000000","message":"Missed this?","commit_id":"f2041a4f3193e92ff879ff5d0bdba8699a255107"},{"author":{"_account_id":5280,"name":"Nicolas Simonds","email":"nic@metacloud.com","username":"nicolas.simonds"},"change_message_id":"a8453e7490e1b4ec52d5934e162abb4bc66f9c89","unresolved":false,"context_lines":[{"line_number":325,"context_line":"          header_options[i] \u003d {sorter: \u0027ipAddress\u0027};"},{"line_number":326,"context_line":"        } else if ($th.data(\u0027type\u0027) \u003d\u003d\u003d \u0027timesince\u0027){"},{"line_number":327,"context_line":"          header_options[i] \u003d {sorter: \u0027timesinceSorter\u0027};"},{"line_number":328,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":329,"context_line":"        } else if ($th.data(\u0027type\u0027) \u003d\u003d\u003d \u0027timestamp\u0027){"},{"line_number":330,"context_line":"          header_options[i] \u003d {sorter: \u0027timestampSorter\u0027};"},{"line_number":331,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/javascript","patch_set":7,"id":"AAAAW3%2F%2Fa88%3D","line":328,"in_reply_to":"AAAAW3%2F%2Fg2A%3D","updated":"2014-04-14 17:35:00.000000000","message":"I never claimed to be competent, Mr. Spear...","commit_id":"f2041a4f3193e92ff879ff5d0bdba8699a255107"}],"openstack_dashboard/dashboards/admin/hypervisors/views.py":[{"author":{"_account_id":9576,"name":"Thai Tran","email":"tqtran@us.ibm.com","username":"tqtran"},"change_message_id":"5d7ab590c3de7bd150579ebca802c15652ba9edd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"natural_sort \u003d lambda x: [int(s) if s.isdigit() else s for s in"},{"line_number":29,"context_line":"                          re.split(r\u0027(\\d+)\u0027,"},{"line_number":30,"context_line":"                                   getattr(x, \u0027hypervisor_hostname\u0027, x))]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class AdminIndexView(tables.DataTableView):"},{"line_number":34,"context_line":"    table_class \u003d project_tables.AdminHypervisorsTable"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2FeVI%3D","line":31,"updated":"2014-02-12 23:52:37.000000000","message":"Seems to me like natural_sort is specific to the AdminIndexView class, and therefore, should be put into the scope of the AdminIndexView class.","commit_id":"a5be08074657ea8f452bfd227eeff7410e06bf91"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"36eb895de6d5c67193f74a760352e8145b93da9c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"natural_sort \u003d lambda x: [int(s) if s.isdigit() else s for s in"},{"line_number":29,"context_line":"                          re.split(r\u0027(\\d+)\u0027,"},{"line_number":30,"context_line":"                                   getattr(x, \u0027hypervisor_hostname\u0027, x))]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class AdminIndexView(tables.DataTableView):"},{"line_number":34,"context_line":"    table_class \u003d project_tables.AdminHypervisorsTable"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2Bc5U%3D","line":31,"in_reply_to":"AAAAUX%2F%2FeVI%3D","updated":"2014-02-21 03:53:56.000000000","message":"+1 for putting natural_sort into AdminIndexView, and maybe sorting according to cpu or ram usage will make more sense to users.","commit_id":"a5be08074657ea8f452bfd227eeff7410e06bf91"}]}
