)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"330da270d57b7940ea65ef9eccb6391fda399f38","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ushen \u003cyshxxsjt715@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-02-10 20:48:03 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prepend platform info to by-path string"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By default, udev will set device by-path name to its ID_PATH."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_25545a23","line":7,"updated":"2020-02-18 10:36:32.000000000","message":"nit: please, start the commit message with the upper-case letter","commit_id":"193e287a10e37517b92998f8e77001e41f33f525"},{"author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"change_message_id":"bb0d390e9148cca0e53049df53cf63e6e3de5936","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ushen \u003cyshxxsjt715@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-02-10 20:48:03 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"prepend platform info to by-path string"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By default, udev will set device by-path name to its ID_PATH."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1fa4df85_749cadbf","line":7,"in_reply_to":"3fa7e38b_25545a23","updated":"2020-03-05 02:41:30.000000000","message":"Done","commit_id":"193e287a10e37517b92998f8e77001e41f33f525"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1724ac384d7594f0d84c144b72f8bece1dbf3a08","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By default, udev will set device by-path name to its ID_PATH."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"by looking at https://github.com/systemd/systemd/blob/a0be5386168a39337d879a9f7d4bd224a42250f2/src/udev/udev-builtin-path_id.c#L530, most of the time, current code works,"},{"line_number":12,"context_line":"but when system supports platform, then disk name will be prefixed by"},{"line_number":13,"context_line":"\u0027platform-xxxxx\u0027."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I9b2c120f074f60b9af6dd81718a5287656040aba"},{"line_number":16,"context_line":"Closes-Bug: #1862443"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9f560f44_06b45ff1","line":13,"range":{"start_line":11,"start_character":0,"end_line":13,"end_character":17},"updated":"2020-08-03 11:02:32.000000000","message":"nit: It\u0027s a bit more readable like this:\n\n Looking at systemd code [1], most of the time, current code works, but\n when system supports platform, then disk name will be prefixed by\n \u0027platform-xxxxx\u0027 and it won\u0027t work.\n\n [1]: https://github.com/systemd/systemd/blob/a0be5386168a39337d879a9f7d4bd224a42250f2/src/udev/udev-builtin-path_id.c#L530","commit_id":"2ff50a869e259a98ee9194e06ebea91457ea3eeb"}],"os_brick/initiator/connectors/fibre_channel.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    def _get_host_devices(self, possible_devs):"},{"line_number":276,"context_line":"        \"\"\"Compute the device paths on the system with an id, wwn, and lun"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        :param possible_devs: list of (pci_id, wwn, lun) tuples"},{"line_number":279,"context_line":"        :return: list of device paths on the system based on the possible_devs"},{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        host_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_7f052fc2","line":278,"range":{"start_line":278,"start_character":39,"end_line":278,"end_character":55},"updated":"2020-03-25 13:50:32.000000000","message":"you\u0027ve changed what these tuples look like, please update the docstring","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"952b70c2802179bba2ad40217f23e0bb226291e0","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        host_devices \u003d []"},{"line_number":282,"context_line":"        for platform, pci_num, target_wwn, lun in possible_devs:"},{"line_number":283,"context_line":"            if platform:"},{"line_number":284,"context_line":"                path_tmpl \u003d \"/dev/disk/by-path/%s-pci-%%s-fc-%%s-lun-%%s\" \\"},{"line_number":285,"context_line":"                            % platform"},{"line_number":286,"context_line":"            else:"},{"line_number":287,"context_line":"                path_tmpl \u003d \"/dev/disk/by-path/pci-%s-fc-%s-lun-%s\""},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"            host_device \u003d path_tmpl % ("},{"line_number":290,"context_line":"                pci_num,"},{"line_number":291,"context_line":"                target_wwn,"},{"line_number":292,"context_line":"                self._linuxscsi.process_lun_id(lun))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_fa02d30a","line":289,"range":{"start_line":283,"start_character":0,"end_line":289,"end_character":39},"updated":"2020-07-30 09:10:20.000000000","message":"nit: Shorter alternative:\n\n    host_device \u003d \"/dev/disk/by-path/%spci-%s-fc-%s-lun-%s\" % (\n        platform + \u0027-\u0027 if platform else \u0027\u0027,","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        :param hbas: available hba devices."},{"line_number":300,"context_line":"        :param targets: tuple of possible wwn addresses and lun combinations."},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"        :returns: list of (pci_id, wwn, lun) tuples"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        Given one or more wwn (mac addresses for fibre channel) ports"},{"line_number":305,"context_line":"        do the matrix math to figure out a set of pci device, wwn"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_9f70f3de","line":302,"updated":"2020-03-25 13:50:32.000000000","message":"this docstring also needs an update","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        \"\"\""},{"line_number":310,"context_line":"        raw_devices \u003d []"},{"line_number":311,"context_line":"        for hba in hbas:"},{"line_number":312,"context_line":"            platform, pci_num \u003d self._get_pci_num(hba)"},{"line_number":313,"context_line":"            if pci_num is not None:"},{"line_number":314,"context_line":"                for wwn, lun in targets:"},{"line_number":315,"context_line":"                    target_wwn \u003d \"0x%s\" % wwn.lower()"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_ff765fd8","line":312,"range":{"start_line":312,"start_character":12,"end_line":312,"end_character":54},"updated":"2020-03-25 13:50:32.000000000","message":"_get_pci_num() can return None, in which case this line will give you a TypeError","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        # /sys/devices/pci0000:00/0000:00:03.0/0000:05:00.3/host2/fc_host/host2"},{"line_number":376,"context_line":"        # /sys/devices/pci0000:20/0000:20:03.0/0000:21:00.2/net/ens2f2/ctlr_2"},{"line_number":377,"context_line":"        # /host3/fc_host/host3"},{"line_number":378,"context_line":"        # we always want the value prior to the host or net value"},{"line_number":379,"context_line":"        has_platform \u003d False"},{"line_number":380,"context_line":"        platform \u003d \u0027\u0027"},{"line_number":381,"context_line":"        if hba is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_6250f40b","line":378,"updated":"2020-03-25 13:50:32.000000000","message":"the above examples are kind of helpful -- you could update with a \"platform\" example.  Maybe better would be to add a comment below that we need to pay attention to \"platform\" because of LP Bug #1862443.  Then if you add a comment \"addresses LP Bug #1862443\" to your new unit tests, it will be easy for someone to find them and see exactly what\u0027s going on here.","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0979954f9f81afe21b1d7b67513827c463fd71cb","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        # /sys/devices/pci0000:00/0000:00:03.0/0000:05:00.3/host2/fc_host/host2"},{"line_number":376,"context_line":"        # /sys/devices/pci0000:20/0000:20:03.0/0000:21:00.2/net/ens2f2/ctlr_2"},{"line_number":377,"context_line":"        # /host3/fc_host/host3"},{"line_number":378,"context_line":"        # we always want the value prior to the host or net value"},{"line_number":379,"context_line":"        has_platform \u003d False"},{"line_number":380,"context_line":"        platform \u003d \u0027\u0027"},{"line_number":381,"context_line":"        if hba is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_f3505861","line":378,"in_reply_to":"df33271e_6250f40b","updated":"2020-03-25 16:44:55.000000000","message":"yes this.","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        # /host3/fc_host/host3"},{"line_number":378,"context_line":"        # we always want the value prior to the host or net value"},{"line_number":379,"context_line":"        has_platform \u003d False"},{"line_number":380,"context_line":"        platform \u003d \u0027\u0027"},{"line_number":381,"context_line":"        if hba is not None:"},{"line_number":382,"context_line":"            if \"device_path\" in hba:"},{"line_number":383,"context_line":"                device_path \u003d hba[\u0027device_path\u0027].split(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_3f5a874e","line":380,"range":{"start_line":380,"start_character":19,"end_line":380,"end_character":21},"updated":"2020-03-25 13:50:32.000000000","message":"I\u0027m not saying that you need to change this, but is there a reason for using an empty string instead of None here?","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b8c75eea95014ac2e594295c6ca92cb258818f9d","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                device_path \u003d hba[\u0027device_path\u0027].split(\u0027/\u0027)"},{"line_number":384,"context_line":"                for index, value in enumerate(device_path):"},{"line_number":385,"context_line":"                    if index \u003d\u003d 3 and value \u003d\u003d \u0027platform\u0027:"},{"line_number":386,"context_line":"                        has_platform \u003d True"},{"line_number":387,"context_line":"                    if has_platform and value.startswith(\u0027pci\u0027):"},{"line_number":388,"context_line":"                        platform \u003d \"platform-%s\" % device_path[index - 1]"},{"line_number":389,"context_line":"                    if value.startswith(\u0027net\u0027) or value.startswith(\u0027host\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_6d08e5d8","line":386,"updated":"2020-03-25 14:42:21.000000000","message":"enumerate() and then checking the index for this seems like a particularly cumbersome way to do this...","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"952b70c2802179bba2ad40217f23e0bb226291e0","unresolved":false,"context_lines":[{"line_number":383,"context_line":"                device_path \u003d hba[\u0027device_path\u0027].split(\u0027/\u0027)"},{"line_number":384,"context_line":"                for index, value in enumerate(device_path):"},{"line_number":385,"context_line":"                    if index \u003d\u003d 3 and value \u003d\u003d \u0027platform\u0027:"},{"line_number":386,"context_line":"                        has_platform \u003d True"},{"line_number":387,"context_line":"                    if has_platform and value.startswith(\u0027pci\u0027):"},{"line_number":388,"context_line":"                        platform \u003d \"platform-%s\" % device_path[index - 1]"},{"line_number":389,"context_line":"                    if value.startswith(\u0027net\u0027) or value.startswith(\u0027host\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_051dac65","line":386,"in_reply_to":"df33271e_6d08e5d8","updated":"2020-07-30 09:10:20.000000000","message":"I agree, maybe we should add between L383 and L384:\n\n    has_platform \u003d len(device_path) \u003e 3 and device_path[3] \u003d\u003d \u0027platform\u0027\n\nAnd remove L379\n\nAlthough in my opinion we should just remove the for loop in L384 and check length of the split device_path and check for specific positions... But that can be done in a different patch.","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"365e1844138dda8f10d6b855c8d5c91f5dbfba94","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                        platform \u003d \"platform-%s\" % device_path[index - 1]"},{"line_number":389,"context_line":"                    if value.startswith(\u0027net\u0027) or value.startswith(\u0027host\u0027):"},{"line_number":390,"context_line":"                        return platform, device_path[index - 1]"},{"line_number":391,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_3f08c72a","line":391,"range":{"start_line":391,"start_character":8,"end_line":391,"end_character":19},"updated":"2020-03-25 13:50:32.000000000","message":"this may cause a problem -- see line 312 above","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"952b70c2802179bba2ad40217f23e0bb226291e0","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                        platform \u003d \"platform-%s\" % device_path[index - 1]"},{"line_number":389,"context_line":"                    if value.startswith(\u0027net\u0027) or value.startswith(\u0027host\u0027):"},{"line_number":390,"context_line":"                        return platform, device_path[index - 1]"},{"line_number":391,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_459b24c8","line":391,"range":{"start_line":391,"start_character":8,"end_line":391,"end_character":19},"in_reply_to":"df33271e_3f08c72a","updated":"2020-07-30 09:10:20.000000000","message":"Yeah, we need to return None, None\nWe need to improve unit test coverage here, since it didn\u0027t catch this discrepancy.","commit_id":"50b9bb25c063fab81ac2513a7738bc966e7c1963"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"42a68749eb4f46a8428b2210edc43a9caf299ce2","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    def _get_host_devices(self, possible_devs):"},{"line_number":276,"context_line":"        \"\"\"Compute the device paths on the system with an id, wwn, and lun"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        :param possible_devs: list of (pci_id, wwn, lun) tuples"},{"line_number":279,"context_line":"        :return: list of device paths on the system based on the possible_devs"},{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        host_devices \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_dd025209","line":278,"range":{"start_line":278,"start_character":38,"end_line":278,"end_character":56},"updated":"2020-07-31 11:02:06.000000000","message":"-1: You\u0027ve changed this, so it should be:\n\n (platform, pci_id, wwn, lun)","commit_id":"2e48beab2a243c34f485305d6b643ef24147d4ba"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"42a68749eb4f46a8428b2210edc43a9caf299ce2","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        :param hbas: available hba devices."},{"line_number":295,"context_line":"        :param targets: tuple of possible wwn addresses and lun combinations."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        :returns: list of (pci_id, wwn, lun) tuples"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        Given one or more wwn (mac addresses for fibre channel) ports"},{"line_number":300,"context_line":"        do the matrix math to figure out a set of pci device, wwn"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_5d0e4232","line":297,"range":{"start_line":297,"start_character":26,"end_line":297,"end_character":44},"updated":"2020-07-31 11:02:06.000000000","message":"-1: You\u0027ve changed this, so it should be:\n\n (platform, pci_id, wwn, lun)","commit_id":"2e48beab2a243c34f485305d6b643ef24147d4ba"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"42a68749eb4f46a8428b2210edc43a9caf299ce2","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                                                   was_multipath)"},{"line_number":365,"context_line":"            self._linuxscsi.remove_scsi_device(device_path, flush\u003dflush)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    def _get_pci_num(self, hba):"},{"line_number":368,"context_line":"        # NOTE(walter-boring)"},{"line_number":369,"context_line":"        # device path is in format of (FC and FCoE) :"},{"line_number":370,"context_line":"        # /sys/devices/pci0000:00/0000:00:03.0/0000:05:00.3/host2/fc_host/host2"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_7dafc6e2","line":367,"updated":"2020-07-31 11:02:06.000000000","message":"nit: We should probably mention, even if it\u0027s just a comment, that we return now platform and PCI","commit_id":"2e48beab2a243c34f485305d6b643ef24147d4ba"}],"os_brick/tests/initiator/connectors/test_fibre_channel.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1724ac384d7594f0d84c144b72f8bece1dbf3a08","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        hba \u003d {\u0027device_path\u0027: \"/sys/devices/pci0000:00/0000:00:03.0\""},{"line_number":135,"context_line":"                              \"/0000:05:00.3/host2/fc_host/host2\"}"},{"line_number":136,"context_line":"        platform, pci_num \u003d self.connector._get_pci_num(hba)"},{"line_number":137,"context_line":"        self.assertEqual(\"0000:05:00.3\", pci_num)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        hba \u003d {\u0027device_path\u0027: \"/sys/devices/pci0000:00/0000:00:03.0\""},{"line_number":140,"context_line":"                              \"/0000:05:00.3/0000:06:00.6/host2/fc_host/host2\"}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_46fad7bc","line":137,"updated":"2020-08-03 11:02:32.000000000","message":"Add:\n\n  self.assertIsNone(platform)","commit_id":"2ff50a869e259a98ee9194e06ebea91457ea3eeb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1724ac384d7594f0d84c144b72f8bece1dbf3a08","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        hba \u003d {\u0027device_path\u0027: \"/sys/devices/pci0000:00/0000:00:03.0\""},{"line_number":140,"context_line":"                              \"/0000:05:00.3/0000:06:00.6/host2/fc_host/host2\"}"},{"line_number":141,"context_line":"        platform, pci_num \u003d self.connector._get_pci_num(hba)"},{"line_number":142,"context_line":"        self.assertEqual(\"0000:06:00.6\", pci_num)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        hba \u003d {\u0027device_path\u0027: \"/sys/devices/pci0000:20/0000:20:03.0\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_86006fad","line":141,"range":{"start_line":141,"start_character":8,"end_line":141,"end_character":16},"updated":"2020-08-03 11:02:32.000000000","message":"ditto","commit_id":"2ff50a869e259a98ee9194e06ebea91457ea3eeb"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1724ac384d7594f0d84c144b72f8bece1dbf3a08","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        hba \u003d {\u0027device_path\u0027: \"/sys/devices/pci0000:20/0000:20:03.0\""},{"line_number":145,"context_line":"                              \"/0000:21:00.2/net/ens2f2/ctlr_2/host3\""},{"line_number":146,"context_line":"                              \"/fc_host/host3\"}"},{"line_number":147,"context_line":"        platform, pci_num \u003d self.connector._get_pci_num(hba)"},{"line_number":148,"context_line":"        self.assertEqual(\"0000:21:00.2\", pci_num)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def test_get_pci_num_with_platform(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_66fd5bb0","line":147,"range":{"start_line":147,"start_character":8,"end_line":147,"end_character":16},"updated":"2020-08-03 11:02:32.000000000","message":"ditto","commit_id":"2ff50a869e259a98ee9194e06ebea91457ea3eeb"}]}
