)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e7434aa27c22b7c40d73104481e02529b4b3ba87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"322cf8fc_fd0202ef","updated":"2022-02-22 09:27:42.000000000","message":"Some comments inline + please add unit tests and a release note.","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"e3e6044162281e50b1c5f13817a098d8b25e10b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"580b808b_837f9c9b","in_reply_to":"322cf8fc_fd0202ef","updated":"2022-02-22 12:16:12.000000000","message":"Thank you for your review Dmitry. Will, do, but wanted to make sure the implementation is good and suitable for backport.","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"23b669ef964dad70bbf019bded42297d85980c6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5b86abc7_e48e5744","updated":"2022-02-22 16:05:42.000000000","message":"lgtm\nplease add release note and probably it needs unit test change","commit_id":"878295592b503ce68184871fb6f84a1820bce2d0"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"948da40ec867f563b743ae3f961bbd02c5cd32bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c57c270f_f27956b8","in_reply_to":"4c7bcddc_32921128","updated":"2022-03-01 10:15:37.000000000","message":"Done","commit_id":"878295592b503ce68184871fb6f84a1820bce2d0"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"3906380891c49503e5b5b98444a143e7e41c6edd","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4c7bcddc_32921128","in_reply_to":"5b86abc7_e48e5744","updated":"2022-02-22 23:17:49.000000000","message":"Thank you for your review Riccardo. Adding the release note. Will look into tests next - wanted to test this patch together with a related change fixing BootSourceOverrideTarget issues in the same environment.","commit_id":"878295592b503ce68184871fb6f84a1820bce2d0"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b3c49e3e35f5f5aece842284e6965cb7928c73af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c269afd4_82f2ccc2","updated":"2022-02-28 23:13:35.000000000","message":"Thank you for your review Riccardo. Resolved the two comments, will work on the unit tests now.","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3075561c4746d43a2267bd71ad3255420148d58a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"148766e0_8fd0e2f7","updated":"2022-02-28 13:41:51.000000000","message":"probably need unit test for the new helper function","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"0659f3f98dffd1821aaca29cecc9e85e7eea2e83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d5b49e21_d10f5f0b","updated":"2022-03-01 09:49:47.000000000","message":"Thank you for the review Riccardo. Uploading revised version.","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"ded9d43aad6876221d84caf737e31529b94e4698","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"7da28cf6_a848591f","updated":"2022-03-02 07:32:26.000000000","message":"Thank you for your review Iury. I implemented your suggestions. Please have a look and let me know what you think.","commit_id":"eb006e4a273e163fe3239ca687c3cc6e65fd652c"}],"releasenotes/notes/retry-if-transferprototype-missing-9cae57f3ecf470a9.yaml":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3075561c4746d43a2267bd71ad3255420148d58a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adding capability to retry virtualmedia InsertMedia call in cases of"},{"line_number":5,"context_line":"    failure caused by lack of TransferProtocolType parameter in the request"},{"line_number":6,"context_line":"    payload. This parameter is required by some BMCs (e.g. Nokia servers)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"a0cd3d46_f34b6058","line":4,"updated":"2022-02-28 13:41:51.000000000","message":"maybe rework this starting with what is fixed","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b3c49e3e35f5f5aece842284e6965cb7928c73af","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adding capability to retry virtualmedia InsertMedia call in cases of"},{"line_number":5,"context_line":"    failure caused by lack of TransferProtocolType parameter in the request"},{"line_number":6,"context_line":"    payload. This parameter is required by some BMCs (e.g. Nokia servers)."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"28907106_ac29ec24","line":4,"in_reply_to":"a0cd3d46_f34b6058","updated":"2022-02-28 23:13:35.000000000","message":"Done","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"}],"sushy/resources/manager/virtual_media.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e7434aa27c22b7c40d73104481e02529b4b3ba87","unresolved":true,"context_lines":[{"line_number":169,"context_line":"            try:"},{"line_number":170,"context_line":"                self._conn.post(target_uri, data\u003dpayload)"},{"line_number":171,"context_line":"            except exceptions.HTTPError as response:"},{"line_number":172,"context_line":"                tpt_err_msg \u003d (\u0027InsertMedia requires the parameter \u0027"},{"line_number":173,"context_line":"                               \u0027TransferProtocolType to be present in the \u0027"},{"line_number":174,"context_line":"                               \u0027request body\u0027)"},{"line_number":175,"context_line":"                if (response.status_code \u003d\u003d http_client.BAD_REQUEST"}],"source_content_type":"text/x-python","patch_set":2,"id":"f525b9d8_724ec547","line":172,"updated":"2022-02-22 09:27:42.000000000","message":"I\u0027d like us not to rely on the exact message, it may end up different or localized. We should parse the response to check MessageId and RelatedProperty.","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"e3e6044162281e50b1c5f13817a098d8b25e10b7","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            try:"},{"line_number":170,"context_line":"                self._conn.post(target_uri, data\u003dpayload)"},{"line_number":171,"context_line":"            except exceptions.HTTPError as response:"},{"line_number":172,"context_line":"                tpt_err_msg \u003d (\u0027InsertMedia requires the parameter \u0027"},{"line_number":173,"context_line":"                               \u0027TransferProtocolType to be present in the \u0027"},{"line_number":174,"context_line":"                               \u0027request body\u0027)"},{"line_number":175,"context_line":"                if (response.status_code \u003d\u003d http_client.BAD_REQUEST"}],"source_content_type":"text/x-python","patch_set":2,"id":"22c75ba6_d8df5808","line":172,"in_reply_to":"f525b9d8_724ec547","updated":"2022-02-22 12:16:12.000000000","message":"Done - let me know how you feel about the way I\u0027ve done it using this approach.","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e7434aa27c22b7c40d73104481e02529b4b3ba87","unresolved":true,"context_lines":[{"line_number":174,"context_line":"                               \u0027request body\u0027)"},{"line_number":175,"context_line":"                if (response.status_code \u003d\u003d http_client.BAD_REQUEST"},{"line_number":176,"context_line":"                   and tpt_err_msg in response.message):"},{"line_number":177,"context_line":"                    if re.match(r\u0027^https://\u0027, payload[\u0027Image\u0027]):"},{"line_number":178,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":179,"context_line":"                    elif re.match(r\u0027^http://\u0027, payload[\u0027Image\u0027]):"},{"line_number":180,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""}],"source_content_type":"text/x-python","patch_set":2,"id":"69597d39_3c1f2769","line":177,"updated":"2022-02-22 09:27:42.000000000","message":"nit:\n\n payload[\u0027Image\u0027].startswith(\u0027https://\u0027)\n\n:)","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"e3e6044162281e50b1c5f13817a098d8b25e10b7","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                               \u0027request body\u0027)"},{"line_number":175,"context_line":"                if (response.status_code \u003d\u003d http_client.BAD_REQUEST"},{"line_number":176,"context_line":"                   and tpt_err_msg in response.message):"},{"line_number":177,"context_line":"                    if re.match(r\u0027^https://\u0027, payload[\u0027Image\u0027]):"},{"line_number":178,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":179,"context_line":"                    elif re.match(r\u0027^http://\u0027, payload[\u0027Image\u0027]):"},{"line_number":180,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""}],"source_content_type":"text/x-python","patch_set":2,"id":"56fced65_63922cc3","line":177,"in_reply_to":"69597d39_3c1f2769","updated":"2022-02-22 12:16:12.000000000","message":"Done","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e7434aa27c22b7c40d73104481e02529b4b3ba87","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                   and tpt_err_msg in response.message):"},{"line_number":177,"context_line":"                    if re.match(r\u0027^https://\u0027, payload[\u0027Image\u0027]):"},{"line_number":178,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":179,"context_line":"                    elif re.match(r\u0027^http://\u0027, payload[\u0027Image\u0027]):"},{"line_number":180,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""},{"line_number":181,"context_line":"                    self._conn.post(target_uri, data\u003dpayload)"},{"line_number":182,"context_line":"        self.invalidate()"}],"source_content_type":"text/x-python","patch_set":2,"id":"b8020869_71a2abb3","line":179,"updated":"2022-02-22 09:27:42.000000000","message":"similar","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"e3e6044162281e50b1c5f13817a098d8b25e10b7","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                   and tpt_err_msg in response.message):"},{"line_number":177,"context_line":"                    if re.match(r\u0027^https://\u0027, payload[\u0027Image\u0027]):"},{"line_number":178,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":179,"context_line":"                    elif re.match(r\u0027^http://\u0027, payload[\u0027Image\u0027]):"},{"line_number":180,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""},{"line_number":181,"context_line":"                    self._conn.post(target_uri, data\u003dpayload)"},{"line_number":182,"context_line":"        self.invalidate()"}],"source_content_type":"text/x-python","patch_set":2,"id":"18427fd1_009b3c7a","line":179,"in_reply_to":"b8020869_71a2abb3","updated":"2022-02-22 12:16:12.000000000","message":"Done","commit_id":"928d4c36877f017dca64cef1ba96802841bb27aa"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"23b669ef964dad70bbf019bded42297d85980c6d","unresolved":true,"context_lines":[{"line_number":161,"context_line":"                payload[\u0027Inserted\u0027] \u003d False"},{"line_number":162,"context_line":"            if not write_protected:"},{"line_number":163,"context_line":"                payload[\u0027WriteProtected\u0027] \u003d False"},{"line_number":164,"context_line":"            # NOTE(janders) attempting to detect whether we are dealing with"},{"line_number":165,"context_line":"            # attachment failure due to absence of TransferProtocolType in"},{"line_number":166,"context_line":"            # the request payload as this is breaking vMedia on Nokia servers."},{"line_number":167,"context_line":"            # If this is the case, set TransferProtocolType and re-try."}],"source_content_type":"text/x-python","patch_set":3,"id":"b06d3be2_02a1ce74","line":164,"updated":"2022-02-22 16:05:42.000000000","message":"I would reduce the note to 1-2 lines and move the Nokia example to the release note","commit_id":"878295592b503ce68184871fb6f84a1820bce2d0"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"3906380891c49503e5b5b98444a143e7e41c6edd","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                payload[\u0027Inserted\u0027] \u003d False"},{"line_number":162,"context_line":"            if not write_protected:"},{"line_number":163,"context_line":"                payload[\u0027WriteProtected\u0027] \u003d False"},{"line_number":164,"context_line":"            # NOTE(janders) attempting to detect whether we are dealing with"},{"line_number":165,"context_line":"            # attachment failure due to absence of TransferProtocolType in"},{"line_number":166,"context_line":"            # the request payload as this is breaking vMedia on Nokia servers."},{"line_number":167,"context_line":"            # If this is the case, set TransferProtocolType and re-try."}],"source_content_type":"text/x-python","patch_set":3,"id":"b3187189_e76a32cc","line":164,"in_reply_to":"b06d3be2_02a1ce74","updated":"2022-02-22 23:17:49.000000000","message":"Done","commit_id":"878295592b503ce68184871fb6f84a1820bce2d0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"40bd17e83b18c94e27b301c48a4c2f37e600c0a9","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":170,"context_line":"                    and response.body[\u0027@Message.ExtendedInfo\u0027][0]"},{"line_number":171,"context_line":"                        [\u0027RelatedProperties\u0027][0]"},{"line_number":172,"context_line":"                        \u003d\u003d \"#/TransferProtocolType\"):"},{"line_number":173,"context_line":"                    if payload[\u0027Image\u0027].startswith(\u0027https://\u0027):"},{"line_number":174,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":175,"context_line":"                    elif payload[\u0027Image\u0027].startswith(\u0027http://\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fefc0ce7_2e758344","line":172,"updated":"2022-02-23 11:09:16.000000000","message":"Let\u0027s not assume any of these fields are actually there (knowing Redfish, it\u0027s possible they\u0027re not).\n\nI\u0027d also appreciate a helper function, something like is_transfer_protocol_required(response).\n\nAnd unit tests please.","commit_id":"d20edceef54ddfd78c8c715c8ab0d621924e6b15"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3075561c4746d43a2267bd71ad3255420148d58a","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":119,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"},{"line_number":120,"context_line":"                return True"},{"line_number":121,"context_line":"            else:"},{"line_number":122,"context_line":"                return False"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def insert_media(self, image, inserted\u003dTrue, write_protected\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"54c40d1e_4fbb8cc0","line":121,"updated":"2022-02-28 13:41:51.000000000","message":"drop the else and just return False at the end of the function or you risk to not return anything","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b3c49e3e35f5f5aece842284e6965cb7928c73af","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":119,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"},{"line_number":120,"context_line":"                return True"},{"line_number":121,"context_line":"            else:"},{"line_number":122,"context_line":"                return False"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def insert_media(self, image, inserted\u003dTrue, write_protected\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":6,"id":"27b693ea_2664ba0f","line":121,"in_reply_to":"54c40d1e_4fbb8cc0","updated":"2022-02-28 23:13:35.000000000","message":"Done","commit_id":"9e4d2eafa1a0d6d2e4c5d3a9664960c5c443660a"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"11d995e078a5a923ef74604ce9e594e562b640ac","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Try to determine if it happened due to missing TransferProtocolType."},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if (response.code and response.body[\"@Message.ExtendedInfo\"]):"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"f6210772_e7e0b7a6","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":69},"updated":"2022-03-01 08:08:30.000000000","message":"nit: redundant parenthesis","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"0659f3f98dffd1821aaca29cecc9e85e7eea2e83","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Try to determine if it happened due to missing TransferProtocolType."},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if (response.code and response.body[\"@Message.ExtendedInfo\"]):"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"ce785b6a_27b4537b","line":114,"range":{"start_line":114,"start_character":8,"end_line":114,"end_character":69},"in_reply_to":"f6210772_e7e0b7a6","updated":"2022-03-01 09:49:47.000000000","message":"Done","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"11d995e078a5a923ef74604ce9e594e562b640ac","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":185,"context_line":"                    elif payload[\u0027Image\u0027].startswith(\u0027http://\u0027):"},{"line_number":186,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""},{"line_number":187,"context_line":"                    self._conn.post(target_uri, data\u003dpayload)"},{"line_number":188,"context_line":"        self.invalidate()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def eject_media(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5d308a87_d7db5e19","line":187,"updated":"2022-03-01 08:08:30.000000000","message":"should we add a raise here to catch other possible errors ?","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"0659f3f98dffd1821aaca29cecc9e85e7eea2e83","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTPS\""},{"line_number":185,"context_line":"                    elif payload[\u0027Image\u0027].startswith(\u0027http://\u0027):"},{"line_number":186,"context_line":"                        payload[\u0027TransferProtocolType\u0027] \u003d \"HTTP\""},{"line_number":187,"context_line":"                    self._conn.post(target_uri, data\u003dpayload)"},{"line_number":188,"context_line":"        self.invalidate()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def eject_media(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"543538f5_63a9f02e","line":187,"in_reply_to":"5d308a87_d7db5e19","updated":"2022-03-01 09:49:47.000000000","message":"Ack","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"1c3e7666e29bca1c228358b69c67fa2e3778b70f","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Try to determine if it happened due to missing TransferProtocolType."},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if response.code and response.body[\"@Message.ExtendedInfo\"]:"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":118,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"}],"source_content_type":"text/x-python","patch_set":10,"id":"b1209ad8_c446b0a4","line":115,"range":{"start_line":114,"start_character":8,"end_line":115,"end_character":66},"updated":"2022-03-01 14:52:13.000000000","message":"L114 we check if the response has the code attribute, on L115 we check if the value of it is `Base.1.5.ActionParameterMissing\"`, wouldn\u0027t make sense to either move the check to L114 instead of L115?","commit_id":"c749cbd8c9a1058836fcd78033a2d347ed14e85f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"ded9d43aad6876221d84caf737e31529b94e4698","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        Try to determine if it happened due to missing TransferProtocolType."},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if response.code and response.body[\"@Message.ExtendedInfo\"]:"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":118,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"}],"source_content_type":"text/x-python","patch_set":10,"id":"8a3d1171_37e8d0b2","line":115,"range":{"start_line":114,"start_character":8,"end_line":115,"end_character":66},"in_reply_to":"b1209ad8_c446b0a4","updated":"2022-03-02 07:32:26.000000000","message":"Done","commit_id":"c749cbd8c9a1058836fcd78033a2d347ed14e85f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"1c3e7666e29bca1c228358b69c67fa2e3778b70f","unresolved":true,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if response.code and response.body[\"@Message.ExtendedInfo\"]:"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":118,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"},{"line_number":119,"context_line":"                return True"},{"line_number":120,"context_line":"        return False"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"55de48fa_876b61a1","line":118,"range":{"start_line":116,"start_character":21,"end_line":118,"end_character":49},"updated":"2022-03-01 14:52:13.000000000","message":"Maybe we should just check if \"#/TransferProtocolType\" is in the list and not in a specific position?","commit_id":"c749cbd8c9a1058836fcd78033a2d347ed14e85f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"ded9d43aad6876221d84caf737e31529b94e4698","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        if response.code and response.body[\"@Message.ExtendedInfo\"]:"},{"line_number":115,"context_line":"            if (response.code \u003d\u003d \"Base.1.5.ActionParameterMissing\""},{"line_number":116,"context_line":"                and response.body[\"@Message.ExtendedInfo\"][0]"},{"line_number":117,"context_line":"                    [\u0027RelatedProperties\u0027][0]"},{"line_number":118,"context_line":"                    \u003d\u003d \"#/TransferProtocolType\"):"},{"line_number":119,"context_line":"                return True"},{"line_number":120,"context_line":"        return False"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"af045bb5_ebc9a371","line":118,"range":{"start_line":116,"start_character":21,"end_line":118,"end_character":49},"in_reply_to":"55de48fa_876b61a1","updated":"2022-03-02 07:32:26.000000000","message":"Done","commit_id":"c749cbd8c9a1058836fcd78033a2d347ed14e85f"}],"sushy/tests/unit/resources/manager/test_virtual_media.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"11d995e078a5a923ef74604ce9e594e562b640ac","unresolved":true,"context_lines":[{"line_number":192,"context_line":"        retval \u003d self.sys_virtual_media.is_transfer_protocol_required(response)"},{"line_number":193,"context_line":"        self.assertTrue(retval)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    # NOTE(janders): this is WIP, to be finished or removed"},{"line_number":196,"context_line":"    # def test_insert_media_fallback_with_transfer_protocol_type(self):"},{"line_number":197,"context_line":"    #    with mock.patch.object("},{"line_number":198,"context_line":"    #        self.sys_virtual_media, \u0027is_transfer_protocol_required\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1c2c56a9_3cc57474","line":195,"updated":"2022-03-01 08:08:30.000000000","message":"we can probably remove this","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"948da40ec867f563b743ae3f961bbd02c5cd32bd","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        retval \u003d self.sys_virtual_media.is_transfer_protocol_required(response)"},{"line_number":193,"context_line":"        self.assertTrue(retval)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    # NOTE(janders): this is WIP, to be finished or removed"},{"line_number":196,"context_line":"    # def test_insert_media_fallback_with_transfer_protocol_type(self):"},{"line_number":197,"context_line":"    #    with mock.patch.object("},{"line_number":198,"context_line":"    #        self.sys_virtual_media, \u0027is_transfer_protocol_required\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ad809ec2_35f07637","line":195,"in_reply_to":"1c2c56a9_3cc57474","updated":"2022-03-01 10:15:37.000000000","message":"Done","commit_id":"bf7ddaba503256b6d2ee10cce579aed185aabb7f"}]}
