)]}'
{"neutron/db/agents_db.py":[{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"70b16396ee928ef7a3807a9e0ec15e3338b656ca","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        agent_state \u003d kwargs[\u0027agent_state\u0027][\u0027agent_state\u0027]"},{"line_number":373,"context_line":"        self._check_clock_sync_on_agent_start(agent_state, time)"},{"line_number":374,"context_line":"        if self.START_TIME \u003e time:"},{"line_number":375,"context_line":"            time_agent \u003d datetime.datetime.isoformat(time);"},{"line_number":376,"context_line":"            time_server \u003d datetime.datetime.isoformat(self.START_TIME);"},{"line_number":377,"context_line":"            log_dict \u003d {\u0027agent_time\u0027: time_agent, \u0027server_time\u0027: time_server}"},{"line_number":378,"context_line":"            LOG.debug(\"Stale message received with timestamp: %(agent_time)s. \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a2fa921_c6e67943","line":375,"updated":"2015-10-09 14:09:19.000000000","message":"Don\u0027t need ; at end of line.","commit_id":"57146113b6b5267d4864e5df648f376a9584a218"},{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"70b16396ee928ef7a3807a9e0ec15e3338b656ca","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        self._check_clock_sync_on_agent_start(agent_state, time)"},{"line_number":374,"context_line":"        if self.START_TIME \u003e time:"},{"line_number":375,"context_line":"            time_agent \u003d datetime.datetime.isoformat(time);"},{"line_number":376,"context_line":"            time_server \u003d datetime.datetime.isoformat(self.START_TIME);"},{"line_number":377,"context_line":"            log_dict \u003d {\u0027agent_time\u0027: time_agent, \u0027server_time\u0027: time_server}"},{"line_number":378,"context_line":"            LOG.debug(\"Stale message received with timestamp: %(agent_time)s. \""},{"line_number":379,"context_line":"                      \"Skipping processing because it\u0027s older than the \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a2fa921_66cc45bb","line":376,"updated":"2015-10-09 14:09:19.000000000","message":"Ditto","commit_id":"57146113b6b5267d4864e5df648f376a9584a218"},{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"70b16396ee928ef7a3807a9e0ec15e3338b656ca","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            diff \u003d abs(timeutils.delta_seconds(time_server_now, agent_time))"},{"line_number":395,"context_line":"            if diff \u003e cfg.CONF.agent_down_time:"},{"line_number":396,"context_line":"                agent_name \u003d agent_state[\u0027agent_type\u0027]"},{"line_number":397,"context_line":"                time_agent \u003d datetime.datetime.isoformat(agent_time);"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"                host \u003d agent_state[\u0027host\u0027]"},{"line_number":400,"context_line":"                log_dict \u003d {\u0027host\u0027: host,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a2fa921_46402907","line":397,"updated":"2015-10-09 14:09:19.000000000","message":"Ditto","commit_id":"57146113b6b5267d4864e5df648f376a9584a218"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"c4ca5b6ea0b815b44996b68a08c2472075acd7f0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy.orm import exc"},{"line_number":26,"context_line":"from sqlalchemy import sql"},{"line_number":27,"context_line":"import datetime"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from neutron.api.v2 import attributes"},{"line_number":30,"context_line":"from neutron.common import constants"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_263e4d28","line":27,"updated":"2015-10-09 14:14:26.000000000","message":"Imports need to be ordered alphabetically. This should be first in this group.","commit_id":"69d7efa7d999f9cfcfe4924d3811f532b3891d24"},{"author":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"change_message_id":"8e372f6c2ee277a2b2ca4a17fa8d3e586428a92e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy.orm import exc"},{"line_number":26,"context_line":"from sqlalchemy import sql"},{"line_number":27,"context_line":"import datetime"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from neutron.api.v2 import attributes"},{"line_number":30,"context_line":"from neutron.common import constants"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_e629359c","line":27,"in_reply_to":"7a2fa921_263e4d28","updated":"2015-10-09 14:24:11.000000000","message":"Oh, I didn\u0027t know that.  I\u0027ll switch that up right now.  Good to know.","commit_id":"69d7efa7d999f9cfcfe4924d3811f532b3891d24"},{"author":{"_account_id":18485,"name":"Haim Daniel","email":"hdaniel@redhat.com","username":"hdaniel"},"change_message_id":"b15436e15e2572ce576c0d45fbc39cf180e44ce9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import datetime"},{"line_number":17,"context_line":"from eventlet import greenthread"},{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":"from oslo_db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_bb234f55","line":16,"updated":"2015-10-09 17:09:26.000000000","message":"Since datetime is a standard library import followed by third party imports - you should put a blank line between each group of imports. \n\nhttps://www.python.org/dev/peps/pep-0008/#imports","commit_id":"2781ef70b1ed7de7a56b5f1a9d1030bc015ee342"},{"author":{"_account_id":17211,"name":"Brandon Palm","email":"bapalm@us.ibm.com","username":"bapalm"},"change_message_id":"42b337440452906893888c2bd339cd4e93a19997","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import datetime"},{"line_number":17,"context_line":"from eventlet import greenthread"},{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":"from oslo_db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_e8a330fe","line":16,"in_reply_to":"7a2fa921_bb234f55","updated":"2015-10-09 21:31:37.000000000","message":"Ah, good call on that.  I\u0027ll change that up right away.","commit_id":"2781ef70b1ed7de7a56b5f1a9d1030bc015ee342"}]}
