Je ne suis pas du tout un spécialiste mais alors vraiment pas je le préviens d'avance.
J'ai réussi tant bien que mal un script avec GUI pour télécharger mes vidéos avec le programme youtube-dl.
Est ce que vous pourriez m'aider a corriger le problème et rendre le script plus "juste".. parce que j'avoue que les radios et le checkbox je me demande par quel miracle j'ai réussi a ce que ce script fonctionne ... :/.
Chaque paramètre est enregistré dans le fichier ini pour une utilisation ultérieur ou pour le paramétrage de mkvmerge qui ira récupérer les informations dans le fichier ini.
Il existe 2 méthodes d'authentification pour les téléchargements, par cookies ou identifiants mot de passe.
J'aimerai aussi savoir comment faire pour quand lorsque je souhaite stopper la "maj" de la petite GUI qui se lance il ne ferme pas tout le script mais juste la partie téléchargement. Comme je n'arrive pas à retourner sur la fenêtre principale une fois le téléchargement fini et que les boutons soient cliquable je relance à nouveau le script en fermant celui en cours.
J'ai aussi un autre problème, lorsque j'affiche dans la fenêtre edit le log de l'exécution du téléchargement il galère.. des fois il mets 2 lignes sur la même ligne.. enfin ce n'est pas très réussi...
Code : Tout sélectionner
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <constants.au3>
#include <GuiComboBox.au3>
#include <GuiEdit.au3>
;lecture du fichier de configuration
Global $id = IniRead(@ScriptDir & "\Configuration.ini", "Compte", "Identifiant", "")
Global $pass = IniRead(@ScriptDir & "\Configuration.ini", "Compte", "Mot_de_passe", "")
Global $emplacement = IniRead(@ScriptDir & "\Configuration.ini", "Config", "Repertoire_de_telechargement", @UserProfileDir & "\Downloads"); si aucun répertoire définit sélectionner par defaut le répertoire Téléchargement du profil utilisateur
;GUI
Global $general = GUICreate("Téléchargement avec Youtube-DL", 1179, 646, 192, 124)
Global $Pic1 = GUICtrlCreatePic(@ScriptDir & "\fond.jpg", 0, 0, 1179, 646, 0x50011004)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$File = FileOpenDialog("", @ScriptDir, "lien_a_DL.txt)", 1); récupérations du contenu du fichier lien_a_DL où se trouve des liens précédemment enregistrés
$read = FileRead("lien_a_DL.txt")
Global $Lien = GUICtrlCreateEdit("", 192, 192, 809, 265) ; fenetre où insérer les liens
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
GUICtrlSetFont(-1, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($Lien, $read)
_GUICtrlEdit_GetLimitText($Lien); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($Lien, 64000000); pour éviter d'etre limité par la taille du log
Global $soustitre = GUICtrlCreateButton("Sous Titres Uniquement", 852, 480, 187, 25); bouton de téléchargement uniquement des sous titres
Global $720p = GUICtrlCreateButton("Téléchargement en 720p", 140, 480, 187, 25); bouton de téléchargement en 720p
Global $1080p = GUICtrlCreateButton("Téléchargement en 1080p", 377, 480, 187, 25); bouton de téléchargement en 1080p
Global $les2 = GUICtrlCreateButton("Téléchargement en 720p et 1080p", 615, 480, 187, 25); bouton de téléchargement 720p et 1080p
Global $remuxVOVF = GUICtrlCreateButton("REMUX VO/VF", 1060, 610, 100, 25); bouton de remux des fichiers VF et VO par mkvmerge
Global $Label1 = GUICtrlCreateLabel("Youtube-dl Téléchargement", 167, 32, 854, 93); Titre principal
GUICtrlSetFont(-1, 50, 400, 0, "@Malgun Gothic")
GUICtrlSetColor(-1, 0x800080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $saveandexit = GUICtrlCreateButton("Quitter", 520, 584, 139, 25)
Global $maj = GUICtrlCreateButton("MAJ de Youtube-dl", 20, 130, 139, 25)
Global $options = GUICtrlCreateButton("Options", 1020, 130, 139, 25)
Global $titreLiens = GUICtrlCreateLabel("Liens des fichiers à télécharger", 402, 152, 406, 36); titre de la page principale
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Inputid = GUICtrlCreateInput($id, 48, 200, 121, 21); fenetre d'enregistrement de l'identifiant
Global $Inputpass = GUICtrlCreateInput($pass, 48, 264, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD)); fenetre d'enregistrement du mot de passe caché
Global $LabelID = GUICtrlCreateLabel("Identifiant", 64, 176, 86, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $LabelPASS = GUICtrlCreateLabel("Mot de passe", 56, 240, 112, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $save = GUICtrlCreateButton("Retour au menu", 500, 500, 88, 27)
Global $Labeltitreconfig = GUICtrlCreateLabel("Configuration", 500, 152, 406, 36); titre du menu des configurations
GUICtrlSetFont(-1, 20, 1000, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $lectureemplacementdl = GUICtrlCreateLabel($emplacement, 430, 270, 400, 25,$WS_BORDER); Affichage de l'emplacement de téléchargement des fichiers dans les options
GUICtrlSetResizing(-1, $GUI_DOCKAUTO + $GUI_DOCKVCENTER + $GUI_DOCKHEIGHT)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $changeremplacementdl = GUICtrlCreateButton("Changer d'emplacement de Téléchargement", 477, 232, 219, 25)
Global $logdl = GUICtrlCreateEdit("", 192, 192, 809, 265, BitOR($GUI_DOCKAUTO, $ES_READONLY, $ES_WANTRETURN, $ES_AUTOVSCROLL)); Fenetre de log des téléchargement des fichiers par youtube-dl
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
_GUICtrlEdit_GetLimitText($logdl); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($logdl, 64000000); pour éviter d'etre limité par la taille du log
GUICtrlSetResizing($logdl, $GUI_DOCKAUTO)
GUICtrlSetFont($logdl, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor($logdl, $GUI_BKCOLOR_TRANSPARENT)
Global $logconversion = GUICtrlCreateEdit("", 192, 192, 809, 265, BitOR($GUI_DOCKAUTO, $ES_READONLY, $ES_WANTRETURN, $ES_AUTOVSCROLL)); Fenetre de log de la conversation des fichiers par mkvmerge
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
_GUICtrlEdit_GetLimitText($logconversion); pour éviter d'etre limité par la taille du log
_GUICtrlEdit_SetLimitText($logconversion, 64000000); pour éviter d'etre limité par la taille du log
GUICtrlSetResizing($logconversion, $GUI_DOCKAUTO)
GUICtrlSetFont($logconversion, 12, 800, 0, "Times New Roman")
GUICtrlSetBkColor($logconversion, $GUI_BKCOLOR_TRANSPARENT)
Global $Annuler = GUICtrlCreateButton("Annuler", 520, 520, 139, 25, BitOR($BS_NOTIFY, $WS_GROUP, $WS_TABSTOP, $WS_VISIBLE, $WS_CHILD))
Global $FERMER = GUICtrlCreateButton("FERMER", 520, 520, 139, 25, $GUI_HIDE)
Global $dlencours = GUICtrlCreateLabel("Téléchargement en cours", 425, 152, 333, 36)
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $conversionencours = GUICtrlCreateLabel("Conversion en cours", 425, 152, 333, 36)
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Radioauth = GUICtrlCreateRadio("Par Identifiant", 216, 232, 85, 17)
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Radiocookies = GUICtrlCreateRadio("Par Cookies", 216, 392, 75, 17)
Global $labelcookies = GUICtrlCreateButton("Importer le fichier cookies", 48, 384, 130, 41)
Global $Checkboxmp4 = GUICtrlCreateCheckbox("", 770, 380, 13, 13)
$labelsupressmp4 = GUICtrlCreateLabel("Ne pas supprimer les mp4 après la conversion", 787, 376, 401, 22)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Global $Groupauth = GUICtrlCreateGroup("Type d'authentification", 208, 200, 125, 225)
GUICtrlCreateGroup("", -99, -99, 1, 1)
pagegeneral()
boutonradio()
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $saveandexit ; Enregister les liens et quitter le programme
$savetxt = FileOpen("lien_a_DL.txt", 2)
FileWrite($savetxt, GUICtrlRead($Lien))
FileClose($savetxt)
Exit
Case $soustitre ; Télécharger uniquement les sous titres et quitter le programme 5s après la fin
$savetxt = FileOpen("lien_a_DL.txt", 2)
FileWrite($savetxt, GUICtrlRead($Lien))
FileClose($savetxt)
check()
pagedl()
check()
soustitre()
Sleep(5000)
Exit
Case $720p ; Télécharger en 720p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
$savetxt = FileOpen("lien_a_DL.txt", 2)
FileWrite($savetxt, GUICtrlRead($Lien))
FileClose($savetxt)
pagedl()
savemp4()
septcentvingtp()
IniWrite("Configuration.ini", "Config", "typedeconversion", "720p")
convert()
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_SHOW)
Sleep(10000)
Exit
Case $1080p; Télécharger en 1080p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
$savetxt = FileOpen("lien_a_DL.txt", 2)
FileWrite($savetxt, GUICtrlRead($Lien))
FileClose($savetxt)
pagedl()
savemp4()
millequatrevingtp()
IniWrite("Configuration.ini", "Config", "typedeconversion", "1080p")
convert()
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_SHOW)
Sleep(10000)
Exit
Case $les2; Télécharger en 720p et 1080p,inscrire les parametres de conversion dans le fichier de config et quitter le programme 10s après la fin
$savetxt = FileOpen("lien_a_DL.txt", 2)
FileWrite($savetxt, GUICtrlRead($Lien))
FileClose($savetxt)
check()
pagedl()
savemp4()
lesdeux()
IniWrite("Configuration.ini", "Config", "typedeconversion", "les2")
convert()
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_SHOW)
Sleep(10000)
Exit
Case $options ;Afficher la page de configuration
pageoptions()
If IniRead("Configuration.ini", "Config", "savemp4", "") = "1" Then
GUICtrlSetState($Checkboxmp4, $GUI_CHECKED)
EndIf
Case $Checkboxmp4; Sauvegarder les mp4 après conversion ou les effacer
If _IsChecked($Checkboxmp4) Then
IniWrite("Configuration.ini", "Config", "savemp4", "1")
Else
IniWrite("Configuration.ini", "Config", "savemp4", "0")
EndIf
savemp4()
Case $labelcookies; sélectionner le bouton radio cookies pour définir le mode d'authentification par cookies
cookies()
Case $Radioauth
Global $typeauth = IniWrite("Configuration.ini", "Config", "typedauth", '"idpass"')
Case $Radiocookies
Global $typeauth = IniWrite("Configuration.ini", "Config", "typedauth", '"cookies"')
Case $remuxVOVF
IniWrite("Configuration.ini", "Config", "typedeconversion", "remux")
pagedl()
convert()
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_SHOW)
Sleep(10000)
Exit
Case $save; Sauvegarder les paramètres de configuration
IniWrite("Configuration.ini", "Compte", "Identifiant", '"' & GUICtrlRead($Inputid) & '"')
IniWrite("Configuration.ini", "Compte", "Mot_de_passe", '"' & GUICtrlRead($Inputpass) & '"')
IniWrite("Configuration.ini", "Config", "Repertoire_de_telechargement", '"' & GUICtrlRead($lectureemplacementdl) & '"')
savemp4()
pagegeneral()
Case $maj; Téléchargement de la dernière version de youtube-DL en remplacament de l'ancienne version
Opt("GUIOnEventMode", 1)
GUICreate("MAJ",220,70)
$DL = GUICtrlCreateEdit("https://yt-dl.org/latest/youtube-dl.exe", 10, 10, 200, 20)
$Progress1 = GUICtrlCreateProgress(10, 30, 200, 20)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
GUISetState()
Global $Dir = @ScriptDir & "\youtube-dl.exe.new"
Global $URL = GUICtrlRead($DL)
Global $Download = InetGet($URL, $Dir, 1, 1) ;Telecharge
Global $TotalSize = 0
While Not InetGetInfo($Download, 2) ;Tant que le telechargement n'est pas complet
Sleep(200)
$KbRecu = InetGetInfo($Download, 0) ;Obtient les KiloOctet reçu
If $KbRecu > 0 Then
If $TotalSize = 0 Then
$TotalSize = InetGetInfo($Download, 1) ;Obtient la taille du fichier
EndIf
$Pourcentage = $KbRecu / $TotalSize * 100 ;calcul le pourcentage
GUICtrlSetData($Progress1, $Pourcentage) ;transfere le pourcentage a la valeur de la ProgressBar
EndIf
WEnd
FileMove(@ScriptDir & "\youtube-dl.exe.new",@ScriptDir & "\youtube-dl.exe",1)
run(@ScriptDir & "\" & @ScriptName)
exit
Case $changeremplacementdl
Emplacementdl()
EndSwitch
WEnd
Func _IsChecked($controle)
Return BitAND(GUICtrlRead($controle), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked
Func pagegeneral(); GUI à afficher sur l'écran principal
GUICtrlSetState($Groupauth, $GUI_HIDE)
GUICtrlSetState($labelcookies, $GUI_HIDE)
GUICtrlSetState($Inputid, $GUI_HIDE)
GUICtrlSetState($Inputpass, $GUI_HIDE)
GUICtrlSetState($LabelID, $GUI_HIDE)
GUICtrlSetState($LabelPASS, $GUI_HIDE)
GUICtrlSetState($save, $GUI_HIDE)
GUICtrlSetState($Labeltitreconfig, $GUI_HIDE)
GUICtrlSetState($lectureemplacementdl, $GUI_HIDE)
GUICtrlSetState($changeremplacementdl, $GUI_HIDE)
GUICtrlSetState($Checkboxmp4, $GUI_HIDE)
GUICtrlSetState($Radioauth, $GUI_HIDE)
GUICtrlSetState($Radiocookies, $GUI_HIDE)
GUICtrlSetState($labelsupressmp4, $GUI_HIDE)
GUICtrlSetState($logdl, $GUI_HIDE)
GUICtrlSetState($logconversion, $GUI_HIDE)
GUICtrlSetState($dlencours, $GUI_HIDE)
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($dlencours, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_HIDE)
GUICtrlSetState($conversionencours, $GUI_HIDE)
GUICtrlSetState($general, $GUI_SHOW)
GUICtrlSetState($Lien, $GUI_SHOW)
GUICtrlSetState($soustitre, $GUI_SHOW)
GUICtrlSetState($720p, $GUI_SHOW)
GUICtrlSetState($les2, $GUI_SHOW)
GUICtrlSetState($1080p, $GUI_SHOW)
GUICtrlSetState($Label1, $GUI_SHOW)
GUICtrlSetState($saveandexit, $GUI_SHOW)
GUICtrlSetState($options, $GUI_SHOW)
GUICtrlSetState($titreLiens, $GUI_SHOW)
GUICtrlSetState($maj, $GUI_SHOW)
EndFunc ;==>pagegeneral
Func pagedl(); GUI à afficher sur l'écran de téléchargement
Opt("GUIOnEventMode", 1)
GUICtrlSetState($Groupauth, $GUI_HIDE)
GUICtrlSetState($general, $GUI_HIDE)
GUICtrlSetState($Lien, $GUI_HIDE)
GUICtrlSetState($soustitre, $GUI_HIDE)
GUICtrlSetState($720p, $GUI_HIDE)
GUICtrlSetState($les2, $GUI_HIDE)
GUICtrlSetState($1080p, $GUI_HIDE)
GUICtrlSetState($Label1, $GUI_SHOW)
GUICtrlSetState($saveandexit, $GUI_HIDE)
GUICtrlSetState($options, $GUI_HIDE)
GUICtrlSetState($titreLiens, $GUI_HIDE)
GUICtrlSetState($conversionencours, $GUI_HIDE)
GUICtrlSetState($Inputid, $GUI_HIDE)
GUICtrlSetState($Inputpass, $GUI_HIDE)
GUICtrlSetState($LabelID, $GUI_HIDE)
GUICtrlSetState($LabelPASS, $GUI_HIDE)
GUICtrlSetState($save, $GUI_HIDE)
GUICtrlSetState($Labeltitreconfig, $GUI_HIDE)
GUICtrlSetState($lectureemplacementdl, $GUI_HIDE)
GUICtrlSetState($changeremplacementdl, $GUI_HIDE)
GUICtrlSetState($conversionencours, $GUI_HIDE)
GUICtrlSetState($Checkboxmp4, $GUI_HIDE)
GUICtrlSetState($Radioauth, $GUI_HIDE)
GUICtrlSetState($Radiocookies, $GUI_HIDE)
GUICtrlSetState($maj, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_HIDE)
GUICtrlSetState($logconversion, $GUI_HIDE)
GUICtrlSetState($remuxVOVF, $GUI_HIDE)
GUICtrlSetState($dlencours, $GUI_SHOW)
GUICtrlSetState($logdl, $GUI_SHOW)
GUICtrlSetState($dlencours, $GUI_SHOW)
GUICtrlSetState($Annuler, $GUI_SHOW)
GUICtrlSetOnEvent($FERMER, "quit")
GUICtrlSetOnEvent($Annuler, "kill")
GUICtrlSetOnEvent($GUI_EVENT_CLOSE, "kill")
EndFunc ;==>pagedl
Func pageoptions()
GUICtrlSetState($general, $GUI_HIDE)
GUICtrlSetState($Lien, $GUI_HIDE)
GUICtrlSetState($soustitre, $GUI_HIDE)
GUICtrlSetState($720p, $GUI_HIDE)
GUICtrlSetState($les2, $GUI_HIDE)
GUICtrlSetState($1080p, $GUI_HIDE)
GUICtrlSetState($Label1, $GUI_SHOW)
GUICtrlSetState($saveandexit, $GUI_HIDE)
GUICtrlSetState($options, $GUI_HIDE)
GUICtrlSetState($titreLiens, $GUI_HIDE)
GUICtrlSetState($logdl, $GUI_HIDE)
GUICtrlSetState($logconversion, $GUI_HIDE)
GUICtrlSetState($dlencours, $GUI_HIDE)
GUICtrlSetState($Annuler, $GUI_HIDE)
GUICtrlSetState($dlencours, $GUI_HIDE)
GUICtrlSetState($FERMER, $GUI_HIDE)
GUICtrlSetState($maj, $GUI_HIDE)
GUICtrlSetState($remuxVOVF, $GUI_HIDE)
GUICtrlSetState($Inputid, $GUI_SHOW)
GUICtrlSetState($Inputpass, $GUI_SHOW)
GUICtrlSetState($LabelID, $GUI_SHOW)
GUICtrlSetState($LabelPASS, $GUI_SHOW)
GUICtrlSetState($save, $GUI_SHOW)
GUICtrlSetState($Labeltitreconfig, $GUI_SHOW)
GUICtrlSetState($lectureemplacementdl, $GUI_SHOW)
GUICtrlSetState($changeremplacementdl, $GUI_SHOW)
GUICtrlSetState($Checkboxmp4, $GUI_SHOW)
GUICtrlSetState($Radioauth, $GUI_SHOW)
GUICtrlSetState($Radiocookies, $GUI_SHOW)
GUICtrlSetState($labelsupressmp4, $GUI_SHOW)
GUICtrlSetState($labelcookies, $GUI_SHOW)
GUICtrlSetState($Groupauth, $GUI_SHOW)
EndFunc ;==>pageoptions
Func boutonradio()
$Radio = IniRead("Configuration.ini", "Config", "typedauth", "")
If $Radio = ("idpass") Then
GUICtrlSetState($Radioauth, $GUI_CHECKED)
EndIf
If $Radio = ("cookies") Then
GUICtrlSetState($Radiocookies, $GUI_CHECKED)
EndIf
If $Radio = ("") Then
GUICtrlSetState($Radioauth, $GUI_CHECKED)
IniWrite("Configuration.ini", "Config", "typedauth", '"idpass"')
EndIf
EndFunc ;==>boutonradio
Func quit()
Exit
EndFunc
Func Emplacementdl()
Const $sMessage = "Choisir le répertoire de téléchargement"
; Choisir l'emplacement du répertoire de téléchargement
$sFileSelectFolder = FileSelectFolder($sMessage, @UserProfileDir & "\Downloads")
If @error Then
; Afficher l'erreur.
MsgBox($MB_SYSTEMMODAL, "", "Aucun répertoire sélectionné.")
Else
IniWrite("Configuration.ini", "Config", "Repertoire_de_telechargement", '"' & $sFileSelectFolder & '"')
GUICtrlSetData($lectureemplacementdl, IniRead("Configuration.ini", "Config", "Repertoire_de_telechargement", ""))
EndIf
EndFunc ;==>Emplacementdl
Func convert()
GUICtrlSetState($dlencours, $GUI_HIDE)
GUICtrlSetState($conversionencours, $GUI_SHOW)
GUICtrlSetState($logdl, $GUI_HIDE)
GUICtrlSetState($logconversion, $GUI_SHOW)
Local $iPID1 = Run(@ComSpec & ' /c Conversion.bat', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $sOutput1 = ""
While 1
$sOutput1 = StdoutRead($iPID1) & @CRLF
If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
ExitLoop
EndIf
While StringInStr($sOutput1, @CRLF & @CRLF)
$sOutput1 = StringReplace($sOutput1, @CRLF & @CRLF, @CRLF)
WEnd
If StringLeft($sOutput1, 1) = @CRLF Or StringLeft($sOutput1, 1) = @CR Or StringLeft($sOutput1, 1) = @LF Then
$sOutput1 = StringTrimLeft($sOutput1, 1)
EndIf
If StringRight($sOutput1, 1) = @CRLF Or StringRight($sOutput1, 1) = @CR Then
$sOutput1 = StringTrimRight($sOutput1, 1)
EndIf
GUICtrlSetData($logconversion, $sOutput1, 1)
Sleep(50)
WEnd
EndFunc ;==>convert
Func septcentvingtp()
Local $auth = ""
If IniRead("Configuration.ini", "Config", "typedauth", '""') = "idpass" Then
Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
Local $auth = " --cookie cookies.txt"
EndIf
Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe -f "best[height=720]" --sub-format "ass" --audio-quality "0" --sub-lang "frFR" --write-sub -a Lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\mp4_720p\%(title)s_720p.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $sOutput = ""
While 1
$sOutput = StdoutRead($iPID) & @CRLF
If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
ExitLoop
EndIf
While StringInStr($sOutput, @CRLF & @CRLF)
$sOutput = StringReplace($sOutput, @CRLF & @CRLF, @CRLF)
WEnd
If StringLeft($sOutput, 1) = @CRLF Or StringLeft($sOutput, 1) = @CR Or StringLeft($sOutput, 1) = @LF Then
$sOutput = StringTrimLeft($sOutput, 1)
EndIf
If StringRight($sOutput, 1) = @CRLF Or StringRight($sOutput, 1) = @CR Then
$sOutput = StringTrimRight($sOutput, 1)
EndIf
GUICtrlSetData($logdl, $sOutput, 1)
Sleep(50)
WEnd
EndFunc ;==>septcentvingtp
Func kill()
If ProcessExists("youtube-dl.exe") Then
ProcessClose("youtube-dl.exe")
Sleep(1000)
EndIf
If ProcessExists("mkvmerge.exe") Then
ProcessClose("mkvmerge.exe")
Sleep(1000)
EndIf
Exit
EndFunc ;==>kill
Func millequatrevingtp()
Local $auth = ""
If IniRead("Configuration.ini", "Config", "typedauth", '""') = "idpass" Then
Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
Local $auth = " --cookie cookies.txt"
EndIf
Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe --sub-format "ass" --audio-quality "0" --sub-lang "frFR" --write-sub -a Lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\mp4_1080p\%(title)s_1080p.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $sOutput = ""
While 1
$sOutput = StdoutRead($iPID) & @CRLF
If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
ExitLoop
EndIf
While StringInStr($sOutput, @CRLF & @CRLF)
$sOutput = StringReplace($sOutput, @CRLF & @CRLF, @CRLF)
WEnd
If StringLeft($sOutput, 1) = @CRLF Or StringLeft($sOutput, 1) = @CR Or StringLeft($sOutput, 1) = @LF Then
$sOutput = StringTrimLeft($sOutput, 1)
EndIf
If StringRight($sOutput, 1) = @CRLF Or StringRight($sOutput, 1) = @CR Then
$sOutput = StringTrimRight($sOutput, 1)
EndIf
GUICtrlSetData($logdl, $sOutput, 1)
Sleep(50)
WEnd
EndFunc ;==>millequatrevingtp
Func lesdeux()
septcentvingtp()
millequatrevingtp()
EndFunc ;==>lesdeux
Func cookies()
; Crée une constante locale avec le message à afficher dans FileOpenDialog.
Local Const $sMessage = "Sélectionner votre fichier cookies"
; Ouvre une boîte de dialogue pour sélectionner une liste de fichier(s).
Local $sFileOpenDialog = FileOpenDialog($sMessage, @UserProfileDir & "\Downloads", "Cookies (*.txt) | Tous (*)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
If @error Then
; Affiche le message d'erreur.
MsgBox($MB_SYSTEMMODAL, "", "Aucun fichier sélectionné.")
; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
FileChangeDir(@ScriptDir)
Else
; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
FileChangeDir(@ScriptDir)
; Remplace les instances de "|" avec CRLF dans la chaîne retournée par FileOpenDialog.
$sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
FileCopy($sFileOpenDialog, @ScriptDir & "\cookies.txt", $FC_OVERWRITE)
EndIf
EndFunc ;==>cookies
Func check()
If GUICtrlRead($lectureemplacementdl) = "" Then
MsgBox(48, "Programme non configuré", "Il manque des paramètres qui ne sont pas configurés, le programme va se fermer!" & @CRLF & "Alors va les config ptit boulet")
Exit
EndIf
EndFunc ;==>check
Func soustitre()
Local $auth = ""
If IniRead("Configuration.ini", "Config", "typedauth", "idpass") = "idpass" Then
Local $auth = "-u " & GUICtrlRead($Inputid) & " -p " & GUICtrlRead($Inputpass)
ElseIf IniRead("Configuration.ini", "Config", "typedauth", '""') = "cookies" Then
Local $auth = " --cookie cookies.txt"
EndIf
Local $iPID = Run(@ComSpec & ' /c youtube-dl.exe --skip-download --sub-format "ass" --sub-lang "frFR" --write-sub -a lien_a_DL.txt ' & $auth & ' --no-check-certificate -o "' & GUICtrlRead($lectureemplacementdl) & '\Sous-Titres\%(title)s.%(ext)s"', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $sOutput = ""
While 1
$sOutput = StdoutRead($iPID) & @CRLF
If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
ExitLoop
EndIf
GUICtrlSetData($logdl, $sOutput, 1)
Sleep(500)
WEnd
EndFunc ;==>soustitre
Func savemp4()
If GUICtrlRead($Checkboxmp4) = $GUI_CHECKED Then ; si case coché alors gui activé,
GUICtrlSetState($Checkboxmp4, $GUI_ENABLE)
IniWrite("Configuration.ini", "Config", "savemp4", "1")
Else
;~ GUICtrlSetState($Checkboxmp4, $GUI_DISABLE); sinon gui désactivé.
IniWrite("Configuration.ini", "Config", "savemp4", "0")
EndIf
EndFunc ;==>savemp4
Exit
Dans l'espoir de trouver une solution.
Cordialement
Nunurs