abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 15
    včera 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 5
    včera 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    27.5. 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 3
    27.5. 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 24
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 958 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: ještě jeden ydl gui program ... problém s QTimerem

    18.12.2023 20:07 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    ještě jeden ydl gui program ... problém s QTimerem
    Přečteno: 575×
    Zdravíčko... Protože jsem tady již dostal mnoho cenných rad, s dalším zákysem se obracím znovu sem..

    je třída Helper (taková nástavba nad yt-dlp), a v ní volám jednak žádost o info k videosouboru, a pak samotné stažení.

    Stahování infa i souboru je v pořádku, a chtěl jsem nasimulovat přerušení stahování. Má to dělat user, ale pro pokusy, jak se to bude chovat jsem použil QTimer takto:
    from yt_dlp import YoutubeDL
    from PySide2.QtCore import \
        Qt, QTimer
    
    class Helper:
        def __init__(self):
            self.pointer = 0
            self.lines = 0
            self.content = []
            self.videoName = ""
    ...
    ...
        def progress(self, p):
            if self.first:
                logging.debug(f" {pprint.pformat(p)}")
            logging.debug(f"Status: {pprint.pformat(p['status'])}, {p['_default_template']}, {type(p).__name__}")
            logging.debug(f"{self.timer.remainingTime()}")
            # print(self.timer.remainingTime())
            self.first = False
    
    ...
    ...
        def downloadFile(self, url):
            ydlOpts = {
                'progress_hooks': [self.progress]
            }
            self.timer = QTimer()
            self.timer.setInterval(3500)
            self.timer.setSingleShot(True)
            self.timer.timeout.connect(self.stopDL)
            self.timer.start()
            self.ydl = YoutubeDL(ydlOpts)
            self.ydl.download(url)
    
        def stopDL(self):
            logging.debug("stopping")
            self.ydl.close()
    

    No ... ale v logu je vidět jak QTimeru ubývá čas, a ... nic

    18 19:11:08 [DEBUG] ytHelper: 84        progress:  Status: 'downloading',   5.1% of   78.59MiB at    4.50MiB/s ETA 00:16, dict 
    18 19:11:08 [DEBUG] ytHelper: 85        progress:  1115 
    
    
    18 19:11:09 [DEBUG] ytHelper: 84        progress:  Status: 'downloading',  10.2% of   78.59MiB at    4.69MiB/s ETA 00:15, dict 
    18 19:11:09 [DEBUG] ytHelper: 85        progress:  295 
    
    
    18 19:11:10 [DEBUG] ytHelper: 84        progress:  Status: 'downloading',  12.3% of   78.59MiB at    4.73MiB/s ETA 00:14, dict 
    18 19:11:10 [DEBUG] ytHelper: 85        progress:  0 
    
    18 19:11:10 [DEBUG] ytHelper: 84        progress:  Status: 'downloading',  12.3% of   78.59MiB at  350.34KiB/s ETA 03:22, dict 
    18 19:11:10 [DEBUG] ytHelper: 85        progress:  0 

    A samozřejmě, stahování se nepřeruší. Nemůžu nijak zjistit, proč QTimer nevolá ukončovací funkci (jak se mi díky logu zdá)

    Nemá s tím někdo z vás zkušenosti ? Mně napadá jen to, že QTimer není potomkem QWidgetu, ale nedělá mi to žádné problémové hlášky ( Qt Creator ), raději se zeptám.. jo a je to Qt5..

    Děkuji

    Odpovědi

    18.12.2023 23:25 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: ještě jeden ydl gui program ... problém s QTimerem
    Aha, zkusil jsem tedy zastavovat yt-dlp "ručně" přes tlačítko, a nic .. volající okno je úplně zatuhlé až do skončení stahování .. takže stahování asi musím hodit do podprocesu ... no .. uvidíme .. Někdy dám vědět, jak jsem dopadl, protože teď jsem na tom s časem nedobře ...
    13.2. 20:50 Franta
    Rozbalit Rozbalit vše Re: ještě jeden ydl gui program ... problém s QTimerem
    Pro funkcnost QTimeru potrebujes, aby ti bezela nejaka smycka udalosti ve vlakne (QEventLoop/exec, QCoreApplication/exec, apod.), ve kterem si vytvoril timer. Dale pak muze byt download() funkce blokujici, tj vrati az bude dokonceno. To bys mozna mohl pouzit neco jako QEllapsedTimer a testovat uplynuly cas v callbacku stahovaci funkce a zkusit to zrusit tam odtud

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.