abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:00 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Nová verze

    Byla vydána nová verze 2.51.0 distribuovaného systému správy verzí Git. Přispělo 91 vývojářů, z toho 21 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Zajímavý článek

    Po roce bylo vydáno nové číslo magazínu Phrack: Phrack 72.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 1
    včera 19:22 | Komunita

    Konference LinuxDays 2025 proběhne o víkendu 4. a 5. října v Praze. Konference OpenAlt 2025 o víkendu 1. a 2. listopadu v Brně. Blíží se konec přihlašování přednášek. Přihlaste svou přednášku (LinuxDays do 31. srpna a OpenAlt do 3. října) nebo doporučte konference známým.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Raspberry Pi Touch Display 2 je nově vedle 7palcové k dispozici také v 5palcové variantě. Rozlišení stejné 720 × 1280 pixelů. Cena 40 dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | IT novinky

    Telnet a ssh klient PuTTY postupně přechází na novou doménu putty.software.

    Ladislav Hagara | Komentářů: 3
    16.8. 01:00 | Komunita

    Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 17
    15.8. 17:44 | IT novinky

    Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních

    … více »
    Ladislav Hagara | Komentářů: 10
    15.8. 13:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.

    Ladislav Hagara | Komentářů: 5
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (63%)
     (13%)
     (13%)
     (0%)
     (13%)
     (0%)
    Celkem 8 hlasů
     Komentářů: 0
    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: 1009×
    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.2024 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.