)]}'
{"vitrage/datasources/listener_service.py":[{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"e0016731aabeea3c6d6f270e019375c822451fa7","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    def _enqueue_events(self, enriched_events):"},{"line_number":107,"context_line":"        for event in enriched_events:"},{"line_number":108,"context_line":"            if event is not None:"},{"line_number":109,"context_line":"                self.enqueue_callback(\u0027\u0027, event)"},{"line_number":110,"context_line":"                LOG.debug(\u0027EVENT ENQUEUED: \\n\u0027 + str(event))"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_069a466d","line":109,"range":{"start_line":109,"start_character":38,"end_line":109,"end_character":40},"updated":"2018-03-27 03:25:08.000000000","message":"What is this for?\n\nHard to understand from context.","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"e06ef27b4a50641279b1a7a3a78e76fabf057240","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    def _enqueue_events(self, enriched_events):"},{"line_number":107,"context_line":"        for event in enriched_events:"},{"line_number":108,"context_line":"            if event is not None:"},{"line_number":109,"context_line":"                self.enqueue_callback(\u0027\u0027, event)"},{"line_number":110,"context_line":"                LOG.debug(\u0027EVENT ENQUEUED: \\n\u0027 + str(event))"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_95a8b6db","line":109,"range":{"start_line":109,"start_character":38,"end_line":109,"end_character":40},"in_reply_to":"bf659307_069a466d","updated":"2018-03-27 07:28:58.000000000","message":"If this is the only comment, I prefer to fix in another commit :)","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"c677c278c79bc7f15abc6d3a56fbd37ae661fd2b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    def _enqueue_events(self, enriched_events):"},{"line_number":107,"context_line":"        for event in enriched_events:"},{"line_number":108,"context_line":"            if event is not None:"},{"line_number":109,"context_line":"                self.enqueue_callback(\u0027\u0027, event)"},{"line_number":110,"context_line":"                LOG.debug(\u0027EVENT ENQUEUED: \\n\u0027 + str(event))"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_320679d0","line":109,"range":{"start_line":109,"start_character":38,"end_line":109,"end_character":40},"in_reply_to":"bf659307_95a8b6db","updated":"2018-03-28 08:10:37.000000000","message":"Done","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/datasources/rpc_service.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        result \u003d list(self.pool.map(run_driver, drivers))"},{"line_number":93,"context_line":"        failed_drivers \u003d [driver for success, driver in result if not success]"},{"line_number":94,"context_line":"        if failed_drivers and retry_on_fault:"},{"line_number":95,"context_line":"            LOG.info(\u0027retrying failed drivers in %s\u0027, fault_interval)"},{"line_number":96,"context_line":"            time.sleep(fault_interval)"},{"line_number":97,"context_line":"            result.extend(list(self.pool.map(run_driver, failed_drivers)))"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_98e0e3ce","line":95,"range":{"start_line":95,"start_character":49,"end_line":95,"end_character":51},"updated":"2018-03-27 15:54:39.000000000","message":"%s seconds","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        result \u003d list(self.pool.map(run_driver, drivers))"},{"line_number":93,"context_line":"        failed_drivers \u003d [driver for success, driver in result if not success]"},{"line_number":94,"context_line":"        if failed_drivers and retry_on_fault:"},{"line_number":95,"context_line":"            LOG.info(\u0027retrying failed drivers in %s\u0027, fault_interval)"},{"line_number":96,"context_line":"            time.sleep(fault_interval)"},{"line_number":97,"context_line":"            result.extend(list(self.pool.map(run_driver, failed_drivers)))"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_5cad4686","line":95,"range":{"start_line":95,"start_character":49,"end_line":95,"end_character":51},"in_reply_to":"bf659307_98e0e3ce","updated":"2018-03-28 07:44:41.000000000","message":"done","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/datasources/utils.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 - Nokia"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_389f5704","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2018-03-27 15:54:39.000000000","message":"2018 :-)","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 - Nokia"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_dcb2b6e6","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"bf659307_389f5704","updated":"2018-03-28 07:44:41.000000000","message":"done","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def get_drivers_by_name(conf, driver_names):"},{"line_number":22,"context_line":"    return [utils.import_object(conf[d_name].driver, conf)"},{"line_number":23,"context_line":"            for d_name in driver_names if d_name in driver_names]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_pull_drivers_names(conf):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_38351747","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":64},"updated":"2018-03-27 15:54:39.000000000","message":"Is the \u0027if\u0027 needed?","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"def get_drivers_by_name(conf, driver_names):"},{"line_number":22,"context_line":"    return [utils.import_object(conf[d_name].driver, conf)"},{"line_number":23,"context_line":"            for d_name in driver_names if d_name in driver_names]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_pull_drivers_names(conf):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_3c2f32f7","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":64},"in_reply_to":"bf659307_38351747","updated":"2018-03-28 07:44:41.000000000","message":"fixed","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/entity_graph/datasource_rpc.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def get_all(rpc_client, events_coordination, driver_names, action,"},{"line_number":33,"context_line":"            retry_on_fault\u003dFalse, first_call_timeout\u003dNone):"},{"line_number":34,"context_line":"    LOG.info(\u0027get_all starting %s %s %s %s\u0027,"},{"line_number":35,"context_line":"             str(driver_names),"},{"line_number":36,"context_line":"             str(action),"},{"line_number":37,"context_line":"             str(retry_on_fault),"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_f85f9f3e","line":34,"range":{"start_line":34,"start_character":14,"end_line":34,"end_character":42},"updated":"2018-03-27 15:54:39.000000000","message":"Please write in the log what each %s is","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def get_all(rpc_client, events_coordination, driver_names, action,"},{"line_number":33,"context_line":"            retry_on_fault\u003dFalse, first_call_timeout\u003dNone):"},{"line_number":34,"context_line":"    LOG.info(\u0027get_all starting %s %s %s %s\u0027,"},{"line_number":35,"context_line":"             str(driver_names),"},{"line_number":36,"context_line":"             str(action),"},{"line_number":37,"context_line":"             str(retry_on_fault),"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_bcd6e2c2","line":34,"range":{"start_line":34,"start_character":14,"end_line":34,"end_character":42},"in_reply_to":"bf659307_f85f9f3e","updated":"2018-03-28 07:44:41.000000000","message":"Removing most params, was for debug.\nThese params are always the same, except for during init.\nNow printing only the driver names.","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    try:"},{"line_number":50,"context_line":"        if first_call_timeout:"},{"line_number":51,"context_line":"            client \u003d rpc_client.prepare(timeout\u003dfirst_call_timeout)"},{"line_number":52,"context_line":"            events \u003d _call(client)"},{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            events \u003d _call(rpc_client)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_f80d5f3e","line":51,"range":{"start_line":51,"start_character":12,"end_line":51,"end_character":31},"updated":"2018-03-27 15:54:39.000000000","message":"Are client and rpc_client the same?","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    try:"},{"line_number":50,"context_line":"        if first_call_timeout:"},{"line_number":51,"context_line":"            client \u003d rpc_client.prepare(timeout\u003dfirst_call_timeout)"},{"line_number":52,"context_line":"            events \u003d _call(client)"},{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            events \u003d _call(rpc_client)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_7c7ccab4","line":51,"range":{"start_line":51,"start_character":12,"end_line":51,"end_character":31},"in_reply_to":"bf659307_f80d5f3e","updated":"2018-03-28 07:44:41.000000000","message":"No, prepare creates a temporary instance that has different properties. adding a comment.","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    t2 \u003d time.time()"},{"line_number":59,"context_line":"    events_coordination.handle_multiple_low_priority(events)"},{"line_number":60,"context_line":"    t3 \u003d time.time()"},{"line_number":61,"context_line":"    LOG.info(\u0027get_all took %s, processing took %s for %s events\u0027,"},{"line_number":62,"context_line":"             t2 - t1, t3 - t2, len(events))"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_9b021d09","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":12},"updated":"2018-03-27 15:54:39.000000000","message":"Do we want it in info?","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    t2 \u003d time.time()"},{"line_number":59,"context_line":"    events_coordination.handle_multiple_low_priority(events)"},{"line_number":60,"context_line":"    t3 \u003d time.time()"},{"line_number":61,"context_line":"    LOG.info(\u0027get_all took %s, processing took %s for %s events\u0027,"},{"line_number":62,"context_line":"             t2 - t1, t3 - t2, len(events))"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_175b272e","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":12},"in_reply_to":"bf659307_9b021d09","updated":"2018-03-28 07:44:41.000000000","message":"It\u0027s a summary. Provides a good perspective of what\u0027s going on.","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def get_changes(rpc_client, events_coordination, driver_name):"},{"line_number":66,"context_line":"    LOG.info(\u0027get_changes starting %s\u0027, driver_name)"},{"line_number":67,"context_line":"    events \u003d rpc_client.call("},{"line_number":68,"context_line":"        {},"},{"line_number":69,"context_line":"        \u0027driver_get_changes\u0027,"},{"line_number":70,"context_line":"        driver_name\u003ddriver_name)"},{"line_number":71,"context_line":"    events_coordination.handle_multiple_low_priority(events)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_db173545","line":70,"range":{"start_line":67,"start_character":0,"end_line":70,"end_character":32},"updated":"2018-03-27 15:54:39.000000000","message":"try/except","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def get_changes(rpc_client, events_coordination, driver_name):"},{"line_number":66,"context_line":"    LOG.info(\u0027get_changes starting %s\u0027, driver_name)"},{"line_number":67,"context_line":"    events \u003d rpc_client.call("},{"line_number":68,"context_line":"        {},"},{"line_number":69,"context_line":"        \u0027driver_get_changes\u0027,"},{"line_number":70,"context_line":"        driver_name\u003ddriver_name)"},{"line_number":71,"context_line":"    events_coordination.handle_multiple_low_priority(events)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_5788bf6f","line":70,"range":{"start_line":67,"start_character":0,"end_line":70,"end_character":32},"in_reply_to":"bf659307_db173545","updated":"2018-03-28 07:44:41.000000000","message":"No need, will be caught by scheduler.py get_changes_periodic","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/entity_graph/processor/processor.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self._enrich_event(event)"},{"line_number":59,"context_line":"        entity \u003d self.transformer_manager.transform(event)"},{"line_number":60,"context_line":"        if entity.action not in self.actions.keys():"},{"line_number":61,"context_line":"            LOG.debug(\u0027ignoring entity %s\u0027, str(entity))"},{"line_number":62,"context_line":"            return"},{"line_number":63,"context_line":"        self._calculate_vitrage_aggregated_values(entity.vertex, entity.action)"},{"line_number":64,"context_line":"        self.actions[entity.action](entity.vertex, entity.neighbors)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_5b5a452a","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":41},"updated":"2018-03-27 15:54:39.000000000","message":"Please write \u0027ignoring entity %s because... \u0027","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self._enrich_event(event)"},{"line_number":59,"context_line":"        entity \u003d self.transformer_manager.transform(event)"},{"line_number":60,"context_line":"        if entity.action not in self.actions.keys():"},{"line_number":61,"context_line":"            LOG.debug(\u0027ignoring entity %s\u0027, str(entity))"},{"line_number":62,"context_line":"            return"},{"line_number":63,"context_line":"        self._calculate_vitrage_aggregated_values(entity.vertex, entity.action)"},{"line_number":64,"context_line":"        self.actions[entity.action](entity.vertex, entity.neighbors)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_57e19fcf","line":61,"range":{"start_line":61,"start_character":23,"end_line":61,"end_character":41},"in_reply_to":"bf659307_5b5a452a","updated":"2018-03-28 07:44:41.000000000","message":"done","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/entity_graph/scheduler.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                       self.events_coordination,"},{"line_number":108,"context_line":"                                       driver_name)"},{"line_number":109,"context_line":"                except Exception as e:"},{"line_number":110,"context_line":"                    LOG.exception(\u0027get_changes_periodic %s failed %s\u0027,"},{"line_number":111,"context_line":"                                  driver_name, e)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"            self.periodic.add(get_changes_periodic)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_9b79bd94","line":110,"range":{"start_line":110,"start_character":59,"end_line":110,"end_character":65},"updated":"2018-03-27 15:54:39.000000000","message":"failed for","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}],"vitrage/rpc.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"32d975bbc53cf203b25fbbe3f6baadac8f302cba","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    cfg.StrOpt(\u0027rpc_topic\u0027,"},{"line_number":25,"context_line":"               default\u003d\u0027rpcapiv1\u0027,"},{"line_number":26,"context_line":"               help\u003d\u0027The topic vitrage listens on\u0027),"},{"line_number":27,"context_line":"    cfg.StrOpt(\u0027rpc_topic_collector\u0027,"},{"line_number":28,"context_line":"               default\u003d\u0027rpc-collector\u0027,"},{"line_number":29,"context_line":"               help\u003d\u0027The topic vitrage-collector listens on\u0027),"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_e127ea11","line":29,"range":{"start_line":27,"start_character":4,"end_line":29,"end_character":62},"updated":"2018-03-27 15:54:39.000000000","message":"Do we want the user to be able to change the name of the topic?","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"22e7a060880217d3a59dc907d6389e42084ec795","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    cfg.StrOpt(\u0027rpc_topic\u0027,"},{"line_number":25,"context_line":"               default\u003d\u0027rpcapiv1\u0027,"},{"line_number":26,"context_line":"               help\u003d\u0027The topic vitrage listens on\u0027),"},{"line_number":27,"context_line":"    cfg.StrOpt(\u0027rpc_topic_collector\u0027,"},{"line_number":28,"context_line":"               default\u003d\u0027rpc-collector\u0027,"},{"line_number":29,"context_line":"               help\u003d\u0027The topic vitrage-collector listens on\u0027),"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_774943ce","line":29,"range":{"start_line":27,"start_character":4,"end_line":29,"end_character":62},"in_reply_to":"bf659307_e127ea11","updated":"2018-03-28 07:44:41.000000000","message":"yes, possibly","commit_id":"30df010676cf462214459be8da26d8bf0f725b4a"}]}
