)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add parsing of snmp_traps for snmp_parsing service"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add paring of snmp traps and unittest, the tempest test"},{"line_number":10,"context_line":"will bu submitted with sending trap to rabbitmq."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ibb4f4294dd95bfd1a37e9291318b2775bf1fedd3"},{"line_number":13,"context_line":"Signed-off-by: xupeipei \u003cxu.peipei1@zte.com.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f91af0f_3e77693d","line":10,"range":{"start_line":10,"start_character":5,"end_line":10,"end_character":7},"updated":"2018-01-02 01:51:10.000000000","message":"bu -\u003e be","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add parsing of snmp_traps for snmp_parsing service"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add paring of snmp traps and unittest, the tempest test"},{"line_number":10,"context_line":"will bu submitted with sending trap to rabbitmq."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ibb4f4294dd95bfd1a37e9291318b2775bf1fedd3"},{"line_number":13,"context_line":"Signed-off-by: xupeipei \u003cxu.peipei1@zte.com.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f91af0f_c1278264","line":10,"range":{"start_line":10,"start_character":5,"end_line":10,"end_character":7},"in_reply_to":"9f91af0f_3e77693d","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add paring of snmp traps and unittest, the tempest test"},{"line_number":10,"context_line":"will bu submitted with sending trap to rabbitmq."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ibb4f4294dd95bfd1a37e9291318b2775bf1fedd3"},{"line_number":13,"context_line":"Signed-off-by: xupeipei \u003cxu.peipei1@zte.com.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f91af0f_5e74ad35","line":11,"updated":"2018-01-02 01:51:10.000000000","message":"Please add the BP link here.","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add paring of snmp traps and unittest, the tempest test"},{"line_number":10,"context_line":"will bu submitted with sending trap to rabbitmq."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ibb4f4294dd95bfd1a37e9291318b2775bf1fedd3"},{"line_number":13,"context_line":"Signed-off-by: xupeipei \u003cxu.peipei1@zte.com.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f91af0f_e12c0649","line":11,"in_reply_to":"9f91af0f_5e74ad35","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"}],"vitrage/snmp_parsing/service.py":[{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"39a7c7856c20799034b0953e0e8a48931beb6902","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                    ver_binds \u003d p_mod.apiPDU.getVarBinds(req_pdu)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.info(\u0027Received binds info after convert: %s\u0027 % binds_dict)"},{"line_number":93,"context_line":"                # TODO(peipei): need to send to message queue"},{"line_number":94,"context_line":"        return whole_msg"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_4d409808","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":24},"updated":"2017-12-29 03:54:27.000000000","message":"Should it be \u0027debug\u0027 level?","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"152f3badf0822b1d909f2dbc95ef3a1e80440290","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                    ver_binds \u003d p_mod.apiPDU.getVarBinds(req_pdu)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.info(\u0027Received binds info after convert: %s\u0027 % binds_dict)"},{"line_number":93,"context_line":"                # TODO(peipei): need to send to message queue"},{"line_number":94,"context_line":"        return whole_msg"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_6d4a3c81","line":92,"range":{"start_line":92,"start_character":20,"end_line":92,"end_character":24},"in_reply_to":"9f91af0f_4d409808","updated":"2017-12-29 06:00:48.000000000","message":"Done","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"39a7c7856c20799034b0953e0e8a48931beb6902","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.info(\u0027Received binds info after convert: %s\u0027 % binds_dict)"},{"line_number":93,"context_line":"                # TODO(peipei): need to send to message queue"},{"line_number":94,"context_line":"        return whole_msg"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _convert_binds_to_dict(self, var_binds):"},{"line_number":97,"context_line":"        binds_dict \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_cd5348e2","line":94,"range":{"start_line":94,"start_character":15,"end_line":94,"end_character":24},"updated":"2017-12-29 03:54:27.000000000","message":"I think `whole_msg` is consumed in the loop above.\n\nCurious about what will be returned here and who will process it?","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"152f3badf0822b1d909f2dbc95ef3a1e80440290","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.info(\u0027Received binds info after convert: %s\u0027 % binds_dict)"},{"line_number":93,"context_line":"                # TODO(peipei): need to send to message queue"},{"line_number":94,"context_line":"        return whole_msg"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _convert_binds_to_dict(self, var_binds):"},{"line_number":97,"context_line":"        binds_dict \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_ed55ec1e","line":94,"range":{"start_line":94,"start_character":15,"end_line":94,"end_character":24},"in_reply_to":"9f91af0f_cd5348e2","updated":"2017-12-29 06:00:48.000000000","message":"`whole_msg` is not necessary, have removed.","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"a7426f280da09ba10eee9f51bab6d0fa08ddf4b4","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from pysnmp.carrier.asyncore.dgram import udp"},{"line_number":17,"context_line":"from pysnmp.carrier.asyncore.dgram import udp6"},{"line_number":18,"context_line":"from pysnmp.carrier.asyncore.dispatch import AsyncoreDispatcher"},{"line_number":19,"context_line":"from pysnmp.proto import api"},{"line_number":20,"context_line":"from pysnmp.proto.rfc1902 import Integer"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_707a0725","line":19,"range":{"start_line":19,"start_character":25,"end_line":19,"end_character":28},"updated":"2017-12-31 07:19:43.000000000","message":"Consider importing it \u0027as snmp_api\u0027. I was a bit confused to see calls to an \u0027api\u0027 in this file.","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from pysnmp.carrier.asyncore.dgram import udp"},{"line_number":17,"context_line":"from pysnmp.carrier.asyncore.dgram import udp6"},{"line_number":18,"context_line":"from pysnmp.carrier.asyncore.dispatch import AsyncoreDispatcher"},{"line_number":19,"context_line":"from pysnmp.proto import api"},{"line_number":20,"context_line":"from pysnmp.proto.rfc1902 import Integer"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_61ff96aa","line":19,"range":{"start_line":19,"start_character":25,"end_line":19,"end_character":28},"in_reply_to":"9f91af0f_1e94e536","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from pysnmp.carrier.asyncore.dgram import udp"},{"line_number":17,"context_line":"from pysnmp.carrier.asyncore.dgram import udp6"},{"line_number":18,"context_line":"from pysnmp.carrier.asyncore.dispatch import AsyncoreDispatcher"},{"line_number":19,"context_line":"from pysnmp.proto import api"},{"line_number":20,"context_line":"from pysnmp.proto.rfc1902 import Integer"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_1e94e536","line":19,"range":{"start_line":19,"start_character":25,"end_line":19,"end_character":28},"in_reply_to":"9f91af0f_707a0725","updated":"2018-01-02 01:51:10.000000000","message":"+1","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            )"},{"line_number":84,"context_line":"            req_pdu \u003d p_mod.apiMessage.getPDU(req_msg)"},{"line_number":85,"context_line":"            if req_pdu.isSameTypeWith(p_mod.TrapPDU()):"},{"line_number":86,"context_line":"                if msg_ver \u003d\u003d api.protoVersion1:"},{"line_number":87,"context_line":"                    ver_binds \u003d p_mod.apiTrapPDU.getVarBinds(req_pdu)"},{"line_number":88,"context_line":"                else:"},{"line_number":89,"context_line":"                    ver_binds \u003d p_mod.apiPDU.getVarBinds(req_pdu)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.debug(\u0027Received binds info after convert: %s\u0027 % binds_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_bee619e8","line":89,"range":{"start_line":86,"start_character":0,"end_line":89,"end_character":65},"updated":"2018-01-02 01:51:10.000000000","message":"you can use `ver_binds \u003d XXX if XXX else XXX` for one line, it\u0027s more pythonic.","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            )"},{"line_number":84,"context_line":"            req_pdu \u003d p_mod.apiMessage.getPDU(req_msg)"},{"line_number":85,"context_line":"            if req_pdu.isSameTypeWith(p_mod.TrapPDU()):"},{"line_number":86,"context_line":"                if msg_ver \u003d\u003d api.protoVersion1:"},{"line_number":87,"context_line":"                    ver_binds \u003d p_mod.apiTrapPDU.getVarBinds(req_pdu)"},{"line_number":88,"context_line":"                else:"},{"line_number":89,"context_line":"                    ver_binds \u003d p_mod.apiPDU.getVarBinds(req_pdu)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"                binds_dict \u003d self._convert_binds_to_dict(ver_binds)"},{"line_number":92,"context_line":"                LOG.debug(\u0027Received binds info after convert: %s\u0027 % binds_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_81217a50","line":89,"range":{"start_line":86,"start_character":0,"end_line":89,"end_character":65},"in_reply_to":"9f91af0f_bee619e8","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        binds_dict \u003d {}"},{"line_number":97,"context_line":"        for oid, val in var_binds:"},{"line_number":98,"context_line":"            u_oid \u003d self._convert_obj_to_unicode(oid)"},{"line_number":99,"context_line":"            if type(val) \u003d\u003d Integer:"},{"line_number":100,"context_line":"                binds_dict[u_oid] \u003d int(val)"},{"line_number":101,"context_line":"            else:"},{"line_number":102,"context_line":"                # for notify exception"},{"line_number":103,"context_line":"                binds_dict[u_oid] \u003d self._convert_obj_to_unicode(val)"},{"line_number":104,"context_line":"        return binds_dict"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_deebddad","line":103,"range":{"start_line":99,"start_character":0,"end_line":103,"end_character":69},"updated":"2018-01-02 01:51:10.000000000","message":"Same as above.","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        binds_dict \u003d {}"},{"line_number":97,"context_line":"        for oid, val in var_binds:"},{"line_number":98,"context_line":"            u_oid \u003d self._convert_obj_to_unicode(oid)"},{"line_number":99,"context_line":"            if type(val) \u003d\u003d Integer:"},{"line_number":100,"context_line":"                binds_dict[u_oid] \u003d int(val)"},{"line_number":101,"context_line":"            else:"},{"line_number":102,"context_line":"                # for notify exception"},{"line_number":103,"context_line":"                binds_dict[u_oid] \u003d self._convert_obj_to_unicode(val)"},{"line_number":104,"context_line":"        return binds_dict"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_a11efe09","line":103,"range":{"start_line":99,"start_character":0,"end_line":103,"end_character":69},"in_reply_to":"9f91af0f_deebddad","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"}],"vitrage/tests/unit/snmp_parsing/test_snmp_parsing.py":[{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"39a7c7856c20799034b0953e0e8a48931beb6902","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_convert_binds_to_dict(self):"},{"line_number":126,"context_line":"        parsing_service \u003d SnmpParsingService(self.conf)"},{"line_number":127,"context_line":"        convert_dict \u003d parsing_service._convert_binds_to_dict(BINDS_REPORTED)"},{"line_number":128,"context_line":"        self.assertEqual(convert_dict, DICT_OK)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_0dc5b08e","line":127,"range":{"start_line":127,"start_character":8,"end_line":127,"end_character":20},"updated":"2017-12-29 03:54:27.000000000","message":"\u003d\u003e converted_dict or dict_converted?","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"152f3badf0822b1d909f2dbc95ef3a1e80440290","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_convert_binds_to_dict(self):"},{"line_number":126,"context_line":"        parsing_service \u003d SnmpParsingService(self.conf)"},{"line_number":127,"context_line":"        convert_dict \u003d parsing_service._convert_binds_to_dict(BINDS_REPORTED)"},{"line_number":128,"context_line":"        self.assertEqual(convert_dict, DICT_OK)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_4d3ad8e7","line":127,"range":{"start_line":127,"start_character":8,"end_line":127,"end_character":20},"in_reply_to":"9f91af0f_0dc5b08e","updated":"2017-12-29 06:00:48.000000000","message":"Done","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"39a7c7856c20799034b0953e0e8a48931beb6902","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def test_convert_binds_to_dict(self):"},{"line_number":126,"context_line":"        parsing_service \u003d SnmpParsingService(self.conf)"},{"line_number":127,"context_line":"        convert_dict \u003d parsing_service._convert_binds_to_dict(BINDS_REPORTED)"},{"line_number":128,"context_line":"        self.assertEqual(convert_dict, DICT_OK)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_8d36a0b4","line":128,"range":{"start_line":128,"start_character":39,"end_line":128,"end_character":46},"updated":"2017-12-29 03:54:27.000000000","message":"EXPECTED_DICT or DICT_EXPECTED ?","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"152f3badf0822b1d909f2dbc95ef3a1e80440290","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def test_convert_binds_to_dict(self):"},{"line_number":126,"context_line":"        parsing_service \u003d SnmpParsingService(self.conf)"},{"line_number":127,"context_line":"        convert_dict \u003d parsing_service._convert_binds_to_dict(BINDS_REPORTED)"},{"line_number":128,"context_line":"        self.assertEqual(convert_dict, DICT_OK)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_6d3f9cd6","line":128,"range":{"start_line":128,"start_character":39,"end_line":128,"end_character":46},"in_reply_to":"9f91af0f_8d36a0b4","updated":"2017-12-29 06:00:48.000000000","message":"Done","commit_id":"fde7995d4b6b7469a4071a6b1c3a081b154fa315"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"310532af9c037cf492127caf0a127ebc3ddef80e","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # noinspection PyPep8Naming"},{"line_number":120,"context_line":"    @classmethod"},{"line_number":121,"context_line":"    def setUpClass(cls):"},{"line_number":122,"context_line":"        cls.conf \u003d cfg.ConfigOpts()"},{"line_number":123,"context_line":"        cls.conf.register_opts(cls.OPTS, group\u003d\u0027snmp_parsing\u0027)"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_f08e172d","line":121,"range":{"start_line":121,"start_character":8,"end_line":121,"end_character":23},"updated":"2017-12-31 07:06:15.000000000","message":"please call super","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":25301,"name":"xupeipei","email":"xu.peipei1@zte.com.cn","username":"xupeipei"},"change_message_id":"2812978ce2d6b34a18fde95273e6ee4834c4becf","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # noinspection PyPep8Naming"},{"line_number":120,"context_line":"    @classmethod"},{"line_number":121,"context_line":"    def setUpClass(cls):"},{"line_number":122,"context_line":"        cls.conf \u003d cfg.ConfigOpts()"},{"line_number":123,"context_line":"        cls.conf.register_opts(cls.OPTS, group\u003d\u0027snmp_parsing\u0027)"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_a1f59ecd","line":121,"range":{"start_line":121,"start_character":8,"end_line":121,"end_character":23},"in_reply_to":"9f91af0f_7ed091f8","updated":"2018-01-02 03:08:42.000000000","message":"Done","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"db08cb399b6fdb9cb7f2d7630110682ac11460b4","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # noinspection PyPep8Naming"},{"line_number":120,"context_line":"    @classmethod"},{"line_number":121,"context_line":"    def setUpClass(cls):"},{"line_number":122,"context_line":"        cls.conf \u003d cfg.ConfigOpts()"},{"line_number":123,"context_line":"        cls.conf.register_opts(cls.OPTS, group\u003d\u0027snmp_parsing\u0027)"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_7ed091f8","line":121,"range":{"start_line":121,"start_character":8,"end_line":121,"end_character":23},"in_reply_to":"9f91af0f_f08e172d","updated":"2018-01-02 01:51:10.000000000","message":"+1","commit_id":"b9d6c665ad223d80f32d42793fb65600a681d378"}]}
