Как избавиться от зависания GUI программы при обработке запросов?

Есть программа в которую через GUI передается ссылка, прога ее берет и делает некоторые манипуляции, отправляет запросы и т.д. и вот пока она это делает весь GUI программы полностью зависает. Я еще новичок, знаю что то про async await и multiprocessing, но вообще не понимаю как их использовать

main файл:

from PyQt6.QtWidgets import QApplication, QWidget
from MainWidget import Ui_Form

import sys 

app = QApplication(sys.argv)
window = QWidget()
ui = Ui_Form()
ui.setupUi(window)

window.show()  

app.exec()

в классе MainWidget есть функция которая как раз и заставляет виснуть GUI

def getVOD(self):
        urlID = self.urlText.text()
        ID = urlID.split('net/')[-1].split("/storyboards")[0] 
        ID = urlID.split('dgeft87wbj63p/')[-1].split("//thumb")[0]    

        for url in self.urls:
            req1 = requests.get(url + ID + "/chunked/index-dvr.m3u8").status_code
            req2 = requests.get(url + ID + "/chunked/highlight-" + ID + ".m3u8").status_code
            if req1 == 200 or req1 == 302:
                webbrowser.open_new_tab(url + ID + "/chunked/index-dvr.m3u8")
                break
            elif req2 == 200 or req2 == 302:
                webbrowser.open_new_tab(url + ID + "/chunked/highlight-" + ID + ".m3u8")
                break
            else:
                continue

Ответы (0 шт):