| Aaly |
| | Questo semplice programma consente di scaricare i video da youtube trovando l'id. L'interfaccia è molto semplice e si divide in 3 parti, ho creato una gui per i download singoli, e una per più download, dove vengono scaricati in sequenza. YouTube.au3CODICE #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_icon=Doawnload.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_Res_Comment=~ YouTube Res #AutoIt3Wrapper_Res_Description=~ YouTube Res #AutoIt3Wrapper_Res_Fileversion=0.0.0.1 #AutoIt3Wrapper_Res_LegalCopyright=Aaly© #AutoIt3Wrapper_Res_Language=1040 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; --> Global Const $INI = @ScriptDir & "\YT.ini" ; -->
If ProcessExists("YTRes.exe") Then ProcessClose("YTRes.exe")
;Scarica le icone InetGet("http://www.aaly.altervista.org/youtube.ico",@TempDir & "\youtube.ico") InetGet("http://www.aaly.altervista.org/ch.ico",@TempDir & "\ch.ico")
If Not FileExists($INI) Then IniWrite($INI,"START","Mode","Single") IniWrite($INI,"DefaultDir","Url",@ScriptDir) Sleep(1000)
If IniRead($INI,"START","Mode","Single") = "Single" Then FileDelete(@ScriptDir & "\YTRes.exe") FileInstall("__SingleD.exe",@ScriptDir & "\YTRes.exe") Sleep(1000) FileSetAttrib(@ScriptDir & "\YTRes.exe","h") ShellExecute(@ScriptDir & "\YTRes.exe") Exit Else FileDelete(@ScriptDir & "\YTRes.exe") FileInstall("__MultiD.exe",@ScriptDir & "\YTRes.exe") FileSetAttrib(@ScriptDir & "\YTRes.exe","h") ShellExecute(@ScriptDir & "\YTRes.exe") Exit EndIf _YT_Lib.au3CODICE #cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1 Autore: Aaly
#ce ----------------------------------------------------------------------------
; --> Global Const $INI = @ScriptDir & "\YT.ini" ; -->
; --------------------------------------------------------------------------------------------------------------------+ ; __YTini_Set --> Imposta la schermata come l'ultimo avvio ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __YTini_Set() If FileExists($INI) Then $x = IniRead($INI,"POSIZIONE","X",192) $y = IniRead($INI,"POSIZIONE","Y",124) WinMove("YouTube Resourcer ~ by Aaly", "", $x, $y) GUICtrlSetData($url, IniRead($INI,"URL","Ultimo url","")) If IniRead($INI,"DOWNLOAD","Size","") = "Byte" Then GUICtrlSetState($Radio1,$GUI_CHECKED) If IniRead($INI,"DOWNLOAD","Size","") = "KByte" Then GUICtrlSetState($Radio2,$GUI_CHECKED) If IniRead($INI,"DOWNLOAD","Size","") = "MByte" Then GUICtrlSetState($Radio3,$GUI_CHECKED) EndIf Return EndFunc
; --------------------------------------------------------------------------------------------------------------------+ ; __YTini_Save --> Salva la schermata alla chiusura ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __YTini_Save() $wingetpos = WinGetPos("YouTube Resourcer ~ by Aaly")
IniWrite($INI,"URL","Ultimo url",GUICtrlRead($url)) IniWrite($INI,"POSIZIONE","X",$wingetpos[0]) IniWrite($INI,"POSIZIONE","Y",$wingetpos[1]) If GUICtrlRead($Radio1) = 1 Then IniWrite($INI,"DOWNLOAD","Size","Byte") If GUICtrlRead($Radio2) = 1 Then IniWrite($INI,"DOWNLOAD","Size","KByte") If GUICtrlRead($Radio3) = 1 Then IniWrite($INI,"DOWNLOAD","Size","MByte") Return EndFunc
; --------------------------------------------------------------------------------------------------------------------+ ; __ByteShow --> Imposta la visualizzazione dello stato del download ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __ByteShow($to) If $to = "b" Then $byte = True $kbyte = False $mbyte = False
ElseIf $to = "kb" Then $byte = False $kbyte = True $mbyte = False
ElseIf $to = "mb" Then $byte = False $kbyte = False $mbyte = True EndIf EndFunc
; --------------------------------------------------------------------------------------------------------------------+ ; __Set_Mode --> Imposta la modalità di accesso ;| ; 1 -> Single ;| ; 2 -> Multi ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __Set_Mode($type) If $type = 1 Then ;Single IniWrite($INI,"START","Mode","Single") ShellExecute(@ScriptDir & "\YouTube.exe") ElseIf $type = 2 Then ;Multi IniWrite($INI,"START","Mode","Multi") ShellExecute(@ScriptDir & "\YouTube.exe") EndIf EndFunc
; --------------------------------------------------------------------------------------------------------------------+ ; __YT_Download --> Scarica il video da YouTube ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __YT_Download($sito, $nm) GUICtrlSetData($info, "Connessione in corso..") Sleep(1000) GUICtrlSetData($info, "Connesso!")
$size = InetGetSize($sito) $dwnl = InetGet($sito, $nm, 1, 1)
If $download = True Then While Not InetGetInfo($dwnl,2) ;Aggiorna solo se il valore cambia $l = InetGetInfo($dwnl,0) If $l <> InetGetInfo($dwnl,0) Then ; -------------------------------> ; Manda i dati nella progress / label GUICtrlSetData($Progress1,InetGetInfo($dwnl,0 )/$size*100) If $byte = True Then GUICtrlSetData($info,InetGetInfo($dwnl,0 ) & " / " & $size & " ~ Byte") ElseIf $kbyte = True Then GUICtrlSetData($info, Round((InetGetInfo($dwnl,0)/1024*100000)/100000, 2) & " / " & Round(($size/1024*100000)/100000, 2)& " ~ Kb") ElseIf $mbyte = True Then GUICtrlSetData($info, Round((InetGetInfo($dwnl,0)/1048576*100000)/100000, 2) & " / " & Round(($size/1048576*100000)/100000, 2) & " ~ Mb") EndIf ; -----------------------------------> ; -------------------------------> $a = GUIGetMsg() If $a = $Button2 Then $interrupt = True ExitLoop EndIf EndIf WEnd EndIf
;Controlla se è stato interrotto If $interrupt = False Then GUICtrlSetData($Progress1,0) GUICtrlSetData($info,"Download completato con successo.") Sleep(2000) GUICtrlSetData($info," ~ ") ElseIf $interrupt = True Then GUICtrlSetData($Progress1,0) GUICtrlSetData($info,"Download interrotto.") Sleep(2000) GUICtrlSetData($info,"") $interrupt = False EndIf GUICtrlSetState($Button1,64) GUICtrlSetState($Button2,128) Return EndFunc
; --------------------------------------------------------------------------------------------------------------------+ ; __Crediti --> Mostra i crediti ;| ; --------------------------------------------------------------------------------------------------------------------+ Func __Crediti() Dim $Credits1[35] = ["Y","o","u","T","u","b","e"," ","R","e","s","."," "," ","~"," ","C","r","e","a","t","e","d"," ","B","y"," ","A","a","l","y"] Dim $Credits2[22] = ["T","h","a","n","k","s"," ","f","o","r"," ","u","s","e"," ",";)"] GUICtrlSetData($info,"") For $i = 0 To 30 Step 1 GUICtrlSetData($info,GUICtrlRead($info) & $Credits1[$i]) Sleep(120) Next
Sleep(2000) GUICtrlSetData($info,"")
For $i = 0 To 21 Step 1 GUICtrlSetData($info,GUICtrlRead($info) & $Credits2[$i]) Sleep(120) Next
Sleep(2000) GUICtrlSetData($info,"") EndFunc __MultiD.exe (764.5 KB)__SingleD.exe (538.39 KB)YouTube.exe (1.22 MB)Pacchetto script__MultiD e __SingleD sono i programmi che sono inclusi in youtube.exe, come si nota dal source avviando youtube.exe si imposta la modalità d'avvio. La speed è bugga, non viene segnata, avevo provato con una libreria trovata nella sezione udf ma non la calcolava esatta ugualmente, quindi in attesa di fix lascio così. Edited by Aaly - 30/5/2010, 16:04
| | |
| |
|