Subida a Gitea
This commit is contained in:
commit
ab835c8667
9 changed files with 207 additions and 0 deletions
2
.directory
Normal file
2
.directory
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Icon=./.icon.png
|
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#---- Gambas files to ignore (v5)
|
||||||
|
*.gambas
|
||||||
|
.lock
|
||||||
|
*~
|
||||||
|
core
|
||||||
|
core.*
|
||||||
|
vgcore
|
||||||
|
vgcore.*
|
||||||
|
.kdbg*
|
||||||
|
.*.prof
|
||||||
|
.lang/*.pot
|
||||||
|
.gambas/*
|
||||||
|
.settings
|
||||||
|
.startup
|
||||||
|
.list
|
||||||
|
.info
|
||||||
|
#----
|
3
.hidden/CHANGELOG
Normal file
3
.hidden/CHANGELOG
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
* Tue Jan 31 2023 luisgulo <luisgulo@gmail.com> 1.0.0
|
||||||
|
- Version Inicial
|
||||||
|
|
BIN
.icon.png
Normal file
BIN
.icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
25
.project
Normal file
25
.project
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Gambas Project File 3.0
|
||||||
|
Title=Download Video
|
||||||
|
Startup=FMain
|
||||||
|
Icon=gnome-mime-application-vnd.rn-realmedia-secure.png
|
||||||
|
Version=1.0.0
|
||||||
|
Component=gb.image
|
||||||
|
Component=gb.gui
|
||||||
|
Component=gb.form
|
||||||
|
Description="Aplicacion para extraer VIDEOS de una URL.\nHace uso de yt-dlp_linux"
|
||||||
|
Authors="LuisGuLo"
|
||||||
|
TabSize=2
|
||||||
|
Translate=1
|
||||||
|
Language=es_ES
|
||||||
|
Maintainer=luisgulo
|
||||||
|
Vendor=SoloConLinux
|
||||||
|
Address=luisgulo@gmail.com
|
||||||
|
Url=https://repositorio.soloconlinux.org.es
|
||||||
|
License=General Public License
|
||||||
|
PackageName=downvideo-1.0.0
|
||||||
|
Packager=1
|
||||||
|
Systems=debian
|
||||||
|
Menus=debian:"Applications/Video"
|
||||||
|
Categories=debian:"Video"
|
||||||
|
Groups=debian:"video"
|
||||||
|
ExtraDependencies=debian:"ytdlplinux\t\t"
|
116
.src/FMain.class
Normal file
116
.src/FMain.class
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
' Gambas class file
|
||||||
|
|
||||||
|
' Gambas class file
|
||||||
|
|
||||||
|
'' Instalar para todos los usuarios
|
||||||
|
' sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
|
||||||
|
' sudo chmod 755 /usr/local/bin/youtube-dl
|
||||||
|
'' Tambien se puede usar solo para usuario local (en ruta privada)
|
||||||
|
'' Para actualizarlo: youtube-dl --update
|
||||||
|
|
||||||
|
'' Forma de uso (incluye imagen en audio)
|
||||||
|
' youtube-dl https://soundcloud.com/grupo/cancion --embed-thumbnail
|
||||||
|
|
||||||
|
Public hProceso As Process
|
||||||
|
|
||||||
|
Public Sub Form_Open()
|
||||||
|
Me.Title = "DownVideo - version " & Application.Version
|
||||||
|
Giro.Visible = False
|
||||||
|
Giro.Stop
|
||||||
|
' Definimos la shell para llamadas...
|
||||||
|
System.Shell = "/bin/bash"
|
||||||
|
CompruebaDL()
|
||||||
|
labelProcesando.Text = ""
|
||||||
|
End
|
||||||
|
|
||||||
|
|
||||||
|
Public Sub Form_Drop()
|
||||||
|
Dim cadenaDrag As String
|
||||||
|
If Drag.Format = "text/unicode" Then
|
||||||
|
'Borramos caracteres NULL (\x00) del codigo UNICODE recibido
|
||||||
|
cadenaDrag = Replace(Drag.Paste("text/unicode"), "\x00", "")
|
||||||
|
txtURL.Text = cadenaDrag
|
||||||
|
Else
|
||||||
|
Message.Title = ("URL no válida")
|
||||||
|
Message.Warning(("Solo puede arrastrar y soltar una URL") & gb.CrLf & ("Si tiene algún problema, pruebe a cortar y pegar la dirección"))
|
||||||
|
Endif
|
||||||
|
End
|
||||||
|
|
||||||
|
Public Sub botonDescargar_Click()
|
||||||
|
Dim NombreFichero As String
|
||||||
|
'Crear la carpeta SoundClouding
|
||||||
|
Shell "mkdir -p " & User.Home & "/SoundClouding" Wait
|
||||||
|
|
||||||
|
' Desactivamos para evitar pulsar más de una vez a los nerviosos
|
||||||
|
botonDescargar.Enabled = False
|
||||||
|
|
||||||
|
If txtURL.Text <> ""
|
||||||
|
' Mostramos que estamos haciendo algo...
|
||||||
|
labelProcesando.Text = ("Chequeando URL y ficheros multimedia...")
|
||||||
|
' Obtener el nombre de fichero
|
||||||
|
Shell "echo -ne $(youtube-dl " & txtURL.Text & " --get-filename)" To NombreFichero
|
||||||
|
If NombreFichero = ""
|
||||||
|
Message.Title = ("Error en URL")
|
||||||
|
Message.Error(("La URL indicada no se puede procesar para extraer vídeo"))
|
||||||
|
txtURL.Text = ""
|
||||||
|
Else
|
||||||
|
Dim MejorFormato As String
|
||||||
|
' Shell "echo -ne $(youtube-dl -F " & txtURL.Text & " | grep best |awk '{print $1}')" To MejorFormato
|
||||||
|
labelProcesando.Text = ("Descargando Vídeo")
|
||||||
|
txtGira.Visible = True
|
||||||
|
Wait 0.1
|
||||||
|
' Descargamos MUSICA e incluimos la imagen de la caratula embebida
|
||||||
|
hProceso = Shell ("cd " & User.Home & "/SoundClouding ; yt-dlp_linux -f mp4/bestvideo --embed-thumbnail " & txtURL.Text) For Read As "Proceso"
|
||||||
|
Do While hProceso.State = Process.Running
|
||||||
|
Select Case txtGira.Text
|
||||||
|
Case "|"
|
||||||
|
txtGira.Text = "/"
|
||||||
|
Case "/"
|
||||||
|
txtGira.Text = "-"
|
||||||
|
Case "-"
|
||||||
|
txtGira.Text = "\\"
|
||||||
|
Case "\\"
|
||||||
|
txtGira.Text = "|"
|
||||||
|
Case Else
|
||||||
|
txtGira.Text = "|"
|
||||||
|
End Select
|
||||||
|
Wait 0.1
|
||||||
|
Loop
|
||||||
|
txtGira.Visible = False
|
||||||
|
labelProcesando.Text = "Descarga finalizada en: " & User.Home & "/SoundClouding" & gb.CrLf & NombreFichero
|
||||||
|
'Message.Title = ("Descarga finalizada")
|
||||||
|
'Message.Info(("Se ha descargado el audio/música en: ") & User.Home & "/SoundClouding" & gb.CrLf & " → " & NombreFichero)
|
||||||
|
txtURL.Text = ""
|
||||||
|
txtSalida.Text = ""
|
||||||
|
Shell "notify-send -t 3000 '" & "DownMusic:\n\nVídeo descargado correctamente'" Wait
|
||||||
|
Endif
|
||||||
|
Else
|
||||||
|
Message.Title = ("URL no válida")
|
||||||
|
Message.Warning(("Puede arrastrar y soltar una URL") & gb.CrLf & ("Si tiene algún problema, pruebe a cortar y pegar la dirección"))
|
||||||
|
Endif
|
||||||
|
' Reactivamos el boton
|
||||||
|
botonDescargar.Enabled = True
|
||||||
|
labelProcesando.Text = ""
|
||||||
|
End
|
||||||
|
|
||||||
|
Public Sub Proceso_Read()
|
||||||
|
Dim sline As String
|
||||||
|
sline = Read #Last, Lof(Last)
|
||||||
|
txtSalida.Text = sline
|
||||||
|
End
|
||||||
|
|
||||||
|
|
||||||
|
Public Function CompruebaDL()
|
||||||
|
' Comprobamos si existe youtube-dl (VERSION )
|
||||||
|
Dim Resultado As String
|
||||||
|
Shell "yt-dlp_linux --version 1>/dev/null 2>/dev/null; echo -n $?" To Resultado
|
||||||
|
If Resultado <> "0"
|
||||||
|
Message.Title = ("Error yt-dlp_linux")
|
||||||
|
Message.Error(("No se ha localizado la herramienta externa yt-dlp_linux") & gb.CrLf & ("* Debe instalarlo desde su gestor de paquetes"))
|
||||||
|
Quit
|
||||||
|
Endif
|
||||||
|
End
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
44
.src/FMain.form
Normal file
44
.src/FMain.form
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# Gambas Form File 3.0
|
||||||
|
|
||||||
|
{ Form Form
|
||||||
|
MoveScaled(0,0,76,25)
|
||||||
|
Drop = True
|
||||||
|
Icon = Picture["gnome-mime-application-vnd.rn-realmedia-secure.png"]
|
||||||
|
Resizable = False
|
||||||
|
{ Giro Spinner
|
||||||
|
MoveScaled(48,9,8,8)
|
||||||
|
Visible = False
|
||||||
|
}
|
||||||
|
{ LabelURL Label
|
||||||
|
MoveScaled(1,0,74,4)
|
||||||
|
Text = ("Arrastre la URL del Audio/Música, o Cortar y Pegar en el recuadro de texto:")
|
||||||
|
}
|
||||||
|
{ txtURL TextBox
|
||||||
|
MoveScaled(1,4,74,4)
|
||||||
|
ToolTip = ("Arrastre aquí la URL de SoundCloud")
|
||||||
|
}
|
||||||
|
{ labelProcesando Label
|
||||||
|
MoveScaled(2,10,45,8)
|
||||||
|
Alignment = Align.TopLeft
|
||||||
|
}
|
||||||
|
{ txtSalida Label
|
||||||
|
MoveScaled(1,18,74,6)
|
||||||
|
Border = Border.Plain
|
||||||
|
}
|
||||||
|
{ botonDescargar ToolButton
|
||||||
|
MoveScaled(57,9,18,8)
|
||||||
|
Font = Font["Bold"]
|
||||||
|
ToolTip = ("Descargar Música")
|
||||||
|
Text = ("Descargar")
|
||||||
|
Picture = Picture["gnome-mime-application-vnd.rn-realmedia-secure.png"]
|
||||||
|
Border = True
|
||||||
|
}
|
||||||
|
{ txtGira Label
|
||||||
|
MoveScaled(48,9,8,8)
|
||||||
|
Visible = False
|
||||||
|
Font = Font["Bold,+4"]
|
||||||
|
Foreground = Color.Red
|
||||||
|
Text = ("|")
|
||||||
|
Alignment = Align.Center
|
||||||
|
}
|
||||||
|
}
|
0
README.md
Normal file
0
README.md
Normal file
BIN
gnome-mime-application-vnd.rn-realmedia-secure.png
Normal file
BIN
gnome-mime-application-vnd.rn-realmedia-secure.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
Loading…
Reference in a new issue