)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4eb8fe164823ab7f1079771342a70e034251a20d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-05-06 11:57:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"glance-manage: Add image-hash command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"582996a0_f31c38c9","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":29},"updated":"2024-05-07 06:50:20.000000000","message":"I think the command should be calculate-hash","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3e046c1dc3fb93ab86ca222ec74cef75af3bc7f7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-05-06 11:57:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"glance-manage: Add image-hash command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ffb0b338_949753a8","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":29},"in_reply_to":"1d15709d_fe626b70","updated":"2024-05-07 13:27:14.000000000","message":"So actual example of command is;\n\nglance-manage image calculate-hash, right?","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"78d3ada6e47a24fe5704cf7b8fc7a068e853c1f0","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-05-06 11:57:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"glance-manage: Add image-hash command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1d15709d_fe626b70","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":29},"in_reply_to":"582996a0_f31c38c9","updated":"2024-05-07 13:09:53.000000000","message":"Since the action is calculate_hash the command should be either image or image-hash i think. May be \u0027image\u0027 would be more suitable since the action is on Image.","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"15ff5c28b5cf6eb3435c8d1342a48ae67c92fe44","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pranali Deore \u003cpdeore@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-05-06 11:57:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"glance-manage: Add image-hash command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d9682c9f_df5f1493","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":29},"in_reply_to":"ffb0b338_949753a8","updated":"2024-05-08 09:02:35.000000000","message":"Yes. glance-manage image calculate_hash","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4eb8fe164823ab7f1079771342a70e034251a20d","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"},{"line_number":11,"context_line":"checksum."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ie56882b1a8f0b80faa370fb1e5041ddca95fc606"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2fe2c5e3_207f0a6b","line":12,"updated":"2024-05-07 06:50:20.000000000","message":"Also add related blueprint tag.","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"78d3ada6e47a24fe5704cf7b8fc7a068e853c1f0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This adds image-hash to calculate the hash and checksum"},{"line_number":10,"context_line":"for image if image is active without os_hash_value and"},{"line_number":11,"context_line":"checksum."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ie56882b1a8f0b80faa370fb1e5041ddca95fc606"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fb62a39f_20ca99e6","line":12,"in_reply_to":"2fe2c5e3_207f0a6b","updated":"2024-05-07 13:09:53.000000000","message":"Done","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"aa9b1c41d4a78664b8139bc4284e2690bf182f01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aa78960c_22cee445","updated":"2024-05-17 06:41:10.000000000","message":"I think instead of adding this in glance-manage we should have a separate command line utility glance-calculate-hash similar as glance-cache-prefetcher. This will avoid adding complexity to existing glance-manage tool.","commit_id":"55631d4bd744c5ad4c3550672286cf9be21fac5f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5b4c1a57cd9780a7676269cfd80279384ec1d2a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a5c8f0ac_56062351","updated":"2024-06-20 05:24:28.000000000","message":"I think you can abandon this now","commit_id":"55631d4bd744c5ad4c3550672286cf9be21fac5f"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"963090661985f697785a2b387a5d3e974cc70eb4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"60bb1c08_4d2720a3","in_reply_to":"aa78960c_22cee445","updated":"2024-05-29 00:56:52.000000000","message":"We have deprecated glance-cache-manage earlier this year, so we might indeed not want to add new functionality to it.\n\nWe do have quite a lot of console scripts (from setup.cfg):\n\nglance-api\nglance-cache-prefetcher\nglance-cache-pruner\nglance-cache-manage\nglance-cache-cleaner\nglance-control\nglance-manage\nglance-replicator\nglance-scrubber\nglance-status\n\nSome of which have deprecated or have not been maintained in a long time. I am a bit afraid that this might start getting confusing for users, so maybe we should discuss this in the weekly meeting.","commit_id":"55631d4bd744c5ad4c3550672286cf9be21fac5f"}],"glance/cmd/manage.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4eb8fe164823ab7f1079771342a70e034251a20d","unresolved":true,"context_lines":[{"line_number":483,"context_line":"    parser.set_defaults(action\u003d\u0027db_export_metadefs\u0027)"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"class HashCalculation(object):"},{"line_number":487,"context_line":"    \"\"\"Class for calculating image hash and checksum of an active image\"\"\""},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    @args(\u0027--image_id\u0027, metavar\u003d\u0027\u003cimage_id\u003e\u0027, help\u003d\u0027ID of the image\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ac594b33_2b7e6dba","line":486,"updated":"2024-05-07 06:50:20.000000000","message":"I think you need to discuss about the requirement for this proposal. AFAIK you need a new database API which will return you images filtered by checksum and or os_hash_value not set and then you should iterate over the result and calculate hash for all the images.\n\nHere in this code admin intervention needed a lot since he need to check which image is not having hash and then provide that image id to this utility command and do the same for all remaining images.","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"78d3ada6e47a24fe5704cf7b8fc7a068e853c1f0","unresolved":true,"context_lines":[{"line_number":483,"context_line":"    parser.set_defaults(action\u003d\u0027db_export_metadefs\u0027)"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"class HashCalculation(object):"},{"line_number":487,"context_line":"    \"\"\"Class for calculating image hash and checksum of an active image\"\"\""},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    @args(\u0027--image_id\u0027, metavar\u003d\u0027\u003cimage_id\u003e\u0027, help\u003d\u0027ID of the image\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e36ff9bb_ba157fe6","line":486,"in_reply_to":"ac594b33_2b7e6dba","updated":"2024-05-07 13:09:53.000000000","message":"How about calling list api to fetch the images by applying filter instead of having new db api?","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3e046c1dc3fb93ab86ca222ec74cef75af3bc7f7","unresolved":false,"context_lines":[{"line_number":483,"context_line":"    parser.set_defaults(action\u003d\u0027db_export_metadefs\u0027)"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"class HashCalculation(object):"},{"line_number":487,"context_line":"    \"\"\"Class for calculating image hash and checksum of an active image\"\"\""},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    @args(\u0027--image_id\u0027, metavar\u003d\u0027\u003cimage_id\u003e\u0027, help\u003d\u0027ID of the image\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"08ccab54_95bcd06e","line":486,"in_reply_to":"e36ff9bb_ba157fe6","updated":"2024-05-07 13:27:14.000000000","message":"Acknowledged","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4eb8fe164823ab7f1079771342a70e034251a20d","unresolved":true,"context_lines":[{"line_number":509,"context_line":"        hashing_algo \u003d CONF[\u0027hashing_algorithm\u0027]"},{"line_number":510,"context_line":"        if image.os_hash_value is None:"},{"line_number":511,"context_line":"            try:"},{"line_number":512,"context_line":"                utils.calculate_hash(image, hashing_algo)"},{"line_number":513,"context_line":"                image_repo.save(image)"},{"line_number":514,"context_line":"            except IOError:"},{"line_number":515,"context_line":"                msg \u003d _(\u0027Hash calculation failed\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"42536f9f_037951a2","line":512,"range":{"start_line":512,"start_character":44,"end_line":512,"end_character":56},"updated":"2024-05-07 06:50:20.000000000","message":"if you set this value to image then no need to pass it to this function.","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"78d3ada6e47a24fe5704cf7b8fc7a068e853c1f0","unresolved":true,"context_lines":[{"line_number":509,"context_line":"        hashing_algo \u003d CONF[\u0027hashing_algorithm\u0027]"},{"line_number":510,"context_line":"        if image.os_hash_value is None:"},{"line_number":511,"context_line":"            try:"},{"line_number":512,"context_line":"                utils.calculate_hash(image, hashing_algo)"},{"line_number":513,"context_line":"                image_repo.save(image)"},{"line_number":514,"context_line":"            except IOError:"},{"line_number":515,"context_line":"                msg \u003d _(\u0027Hash calculation failed\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bbb2964f_920230a8","line":512,"range":{"start_line":512,"start_character":44,"end_line":512,"end_character":56},"in_reply_to":"42536f9f_037951a2","updated":"2024-05-07 13:09:53.000000000","message":"yeah tried that, but in location_import unit tests image is mocked and fails if i try to pass image.os_hash_algo to hashlib.new(image.os_hash_algo)","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"15ff5c28b5cf6eb3435c8d1342a48ae67c92fe44","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        hashing_algo \u003d CONF[\u0027hashing_algorithm\u0027]"},{"line_number":510,"context_line":"        if image.os_hash_value is None:"},{"line_number":511,"context_line":"            try:"},{"line_number":512,"context_line":"                utils.calculate_hash(image, hashing_algo)"},{"line_number":513,"context_line":"                image_repo.save(image)"},{"line_number":514,"context_line":"            except IOError:"},{"line_number":515,"context_line":"                msg \u003d _(\u0027Hash calculation failed\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"56c78e2a_1b100636","line":512,"range":{"start_line":512,"start_character":44,"end_line":512,"end_character":56},"in_reply_to":"bbb2964f_920230a8","updated":"2024-05-08 09:02:35.000000000","message":"Done","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4eb8fe164823ab7f1079771342a70e034251a20d","unresolved":true,"context_lines":[{"line_number":513,"context_line":"                image_repo.save(image)"},{"line_number":514,"context_line":"            except IOError:"},{"line_number":515,"context_line":"                msg \u003d _(\u0027Hash calculation failed\u0027)"},{"line_number":516,"context_line":"                image.os_hash_algo \u003d None"},{"line_number":517,"context_line":"                print(msg)"},{"line_number":518,"context_line":"                return 1"},{"line_number":519,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"944eee12_e122273a","line":516,"updated":"2024-05-07 06:50:20.000000000","message":"Also, I think we should have retry mechanism here as well.","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"78d3ada6e47a24fe5704cf7b8fc7a068e853c1f0","unresolved":false,"context_lines":[{"line_number":513,"context_line":"                image_repo.save(image)"},{"line_number":514,"context_line":"            except IOError:"},{"line_number":515,"context_line":"                msg \u003d _(\u0027Hash calculation failed\u0027)"},{"line_number":516,"context_line":"                image.os_hash_algo \u003d None"},{"line_number":517,"context_line":"                print(msg)"},{"line_number":518,"context_line":"                return 1"},{"line_number":519,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"2fd19290_3489a547","line":516,"in_reply_to":"944eee12_e122273a","updated":"2024-05-07 13:09:53.000000000","message":"Done","commit_id":"3fff62de9420899212dd349633f8c5dd14bf704a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3e046c1dc3fb93ab86ca222ec74cef75af3bc7f7","unresolved":true,"context_lines":[{"line_number":514,"context_line":"                retries -\u003d 1"},{"line_number":515,"context_line":"                try:"},{"line_number":516,"context_line":"                    image.os_hash_algo \u003d CONF[\u0027hashing_algorithm\u0027]"},{"line_number":517,"context_line":"                    utils.calculate_hash(image, hashing_algo)"},{"line_number":518,"context_line":"                except IOError:"},{"line_number":519,"context_line":"                    msg \u003d ("},{"line_number":520,"context_line":"                        f\u0027[{retries}/{CONF.http_retries}]: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"24f87a56_f924d8dc","line":517,"range":{"start_line":517,"start_character":48,"end_line":517,"end_character":60},"updated":"2024-05-07 13:27:14.000000000","message":"since you are setting it to image there is no need to pass it explicitly here.","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"15ff5c28b5cf6eb3435c8d1342a48ae67c92fe44","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                retries -\u003d 1"},{"line_number":515,"context_line":"                try:"},{"line_number":516,"context_line":"                    image.os_hash_algo \u003d CONF[\u0027hashing_algorithm\u0027]"},{"line_number":517,"context_line":"                    utils.calculate_hash(image, hashing_algo)"},{"line_number":518,"context_line":"                except IOError:"},{"line_number":519,"context_line":"                    msg \u003d ("},{"line_number":520,"context_line":"                        f\u0027[{retries}/{CONF.http_retries}]: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"48dcfdcc_1df00969","line":517,"range":{"start_line":517,"start_character":48,"end_line":517,"end_character":60},"in_reply_to":"24f87a56_f924d8dc","updated":"2024-05-08 09:02:35.000000000","message":"Acknowledged","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3e046c1dc3fb93ab86ca222ec74cef75af3bc7f7","unresolved":true,"context_lines":[{"line_number":522,"context_line":"                    print(msg)"},{"line_number":523,"context_line":"                    image.os_hash_algo \u003d None"},{"line_number":524,"context_line":"                    if retries \u003d\u003d 0:"},{"line_number":525,"context_line":"                        msg \u003d (_(\u0027Hash calculation failed on image %s \u0027"},{"line_number":526,"context_line":"                                 \u0027data\u0027) % image.image_id)"},{"line_number":527,"context_line":"                        print(msg)"},{"line_number":528,"context_line":"                        raise"},{"line_number":529,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1745d4d4_d2b61479","line":526,"range":{"start_line":525,"start_character":30,"end_line":526,"end_character":58},"updated":"2024-05-07 13:27:14.000000000","message":"It should be Failed after %D retries.","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"15ff5c28b5cf6eb3435c8d1342a48ae67c92fe44","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                    print(msg)"},{"line_number":523,"context_line":"                    image.os_hash_algo \u003d None"},{"line_number":524,"context_line":"                    if retries \u003d\u003d 0:"},{"line_number":525,"context_line":"                        msg \u003d (_(\u0027Hash calculation failed on image %s \u0027"},{"line_number":526,"context_line":"                                 \u0027data\u0027) % image.image_id)"},{"line_number":527,"context_line":"                        print(msg)"},{"line_number":528,"context_line":"                        raise"},{"line_number":529,"context_line":"                image_repo.save(image)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ed00e7e1_b6e2a24a","line":526,"range":{"start_line":525,"start_character":30,"end_line":526,"end_character":58},"in_reply_to":"1745d4d4_d2b61479","updated":"2024-05-08 09:02:35.000000000","message":"Done","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3e046c1dc3fb93ab86ca222ec74cef75af3bc7f7","unresolved":true,"context_lines":[{"line_number":527,"context_line":"                        print(msg)"},{"line_number":528,"context_line":"                        raise"},{"line_number":529,"context_line":"                image_repo.save(image)"},{"line_number":530,"context_line":"        if len(images) \u003e 0:"},{"line_number":531,"context_line":"            msg \u003d f\u0027{len(images)} active images were found without hash\u0027"},{"line_number":532,"context_line":"            print(msg)"},{"line_number":533,"context_line":"        else:"},{"line_number":534,"context_line":"            print(_(\u0027No active Image found with os_hash_value None\u0027))"},{"line_number":535,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"97a054a4_e1fa2a14","line":532,"range":{"start_line":530,"start_character":8,"end_line":532,"end_character":22},"updated":"2024-05-07 13:27:14.000000000","message":"No use of printing this message here.","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"15ff5c28b5cf6eb3435c8d1342a48ae67c92fe44","unresolved":false,"context_lines":[{"line_number":527,"context_line":"                        print(msg)"},{"line_number":528,"context_line":"                        raise"},{"line_number":529,"context_line":"                image_repo.save(image)"},{"line_number":530,"context_line":"        if len(images) \u003e 0:"},{"line_number":531,"context_line":"            msg \u003d f\u0027{len(images)} active images were found without hash\u0027"},{"line_number":532,"context_line":"            print(msg)"},{"line_number":533,"context_line":"        else:"},{"line_number":534,"context_line":"            print(_(\u0027No active Image found with os_hash_value None\u0027))"},{"line_number":535,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"f4ff2496_2da38a15","line":532,"range":{"start_line":530,"start_character":8,"end_line":532,"end_character":22},"in_reply_to":"97a054a4_e1fa2a14","updated":"2024-05-08 09:02:35.000000000","message":"Done","commit_id":"02a3fb7d08160caf7f062af4a5c151dd27c97ad9"}]}
