Nachrichten der yt-dlp API von der Konsole abgreifen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mimags
User
Beiträge: 4
Registriert: Freitag 30. Dezember 2022, 23:55
Wohnort: Deutschland

Hallo zusammen, ich habe den Punkt erreicht in dem ich gerne Wissen würde wie man die Nachrichten einer API, die in Echtzeit auf die Konsole gesendet werden ausliest. Ich würde gerne eine Anzeige auf der Gui platzieren die zeigt wie weit der Download ist, und ich möchte erfahren ob ein Video verfügbar ist oder nicht (dies muss allerdings nicht so gehandhabt werden (bezieht sich auf die Verfügbarkeit)).

Zu meinem Code:
die request Methode führt alle essenziellen Daten zusammen
self.video_link und self.title sind listen die die angefragten Links und dessen Videotitel
Der gesamte Code ist soweit Bugfrei

Code: Alles auswählen

    def download(self):#(thread) beansprucht Infos, downloaded alle Videos auf einem Thread - ausbaufähig
            ydl = self.request()
            try:
                while not self.video_link == []:
                    with ydl: 
                        link = self.video_link[0]
                        self.frame.title(f"Downloade: {self.title[0]}")
                        ydl.extract_info(link, download= True)
                        
                        self.frame.title(f"{self.title[0]} befindet sich: {self.dirPath}")
                        self.video_link.pop(0)
                        self.title.pop(0)
                print("Downloader gestartet aber keine Daten da")

            except IndexError:
                print("Huha nix drin")
                return
                                    
            except yt_dlp.utils.DownloadError:
                print("Download Error")          
Also Frage die sich mir stellt ist: Wie kann man Api Nachrichten die als Konsolen Antwort eintreffen in Echtzeit verarbeiten?
Benutzeravatar
__blackjack__
User
Beiträge: 14032
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Mimags
User
Beiträge: 4
Registriert: Freitag 30. Dezember 2022, 23:55
Wohnort: Deutschland

Danke, ironischerweise hat keiner in meinem Netzwerk gemeint, lese mal die Read Me, xD.

Für alle die das Problem auch haben:
Das Tracken der Errors wird im Beispiel Code beschrieben.
Für alle Optionen die man sonst braucht/nutzen möchte gibt es da eine Optionenliste bei diesem Link:
https://github.com/ytdl-org/youtube-dl/ ... #L137-L312

Dort gibt es den Absatz progress_hooks und da kann man dann den Fortschritt loggen mit "downloaded_bytes"
Auch nützlich wird sein: "speed" (zeigt den Downloadspeed an), "eta" (zeigt an wie lange es noch geht)
Antworten