kokodrilo   06-10-2020, 05:01
#1
buenas

me tiene loco este código,

sudo pip3 install --force-reinstall youtube-dl

quiero ejecutar eso en un terminal para que el usuario vea el progreso y al terminar el mismo quiero cerrar la ventana inmediatamente pero no logro hacerlo

alguna sugerencia?
Última modificación: 06-10-2020, 21:11 por kokodrilo.

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
vuott   06-10-2020, 10:29
#2
Abres el terminal con Gambas ?
Última modificación: 06-10-2020, 10:41 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
kokodrilo   06-10-2020, 17:14
#3
uso un formulario llamado terminal con un terminalview y lo uso como clase

terminal.instalyoutube
termina.mensaje
termina.etc

un amigo me tiro este codigo que tengo que probar yo ya habia probado algo de esto pero sin exito, no se si le erre a la sintaxis o que hice mal.
esto es para darte una idea de lo que quiero.
Código:
Public Sub installyoutube()
Dim proceso5 As Process
 
  Me.show()
  proceso5 = TerminalView1.Exec(["sudo", "/usr/bin/pip3", "-q", "install", "-U", "youtube-dl"], ["bash"])
   While proceso5.State = Process.Running
      Wait 1 ' 0.5
  Wend
   Wait 0.1
  proceso5.close
End

Public Sub ExisteYoutubedl()
  FMain.ShowMensajes("Comprobando si youtube-dl esta instalado")
  If System.Exist("youtube-dl") = False and if System.Exist("pip3") Then
     FMain.ShowMensajes("Instalando youtube-dl espere por favor...")
      Terminal.Title = "instalación youtube-dl"
      Terminal.Mensaje("Ingrese su contraseña para iniciar la instalación")
      Terminal.installyoutube()
      Terminal.Close
      If System.Exist("youtube-dl") Then
        FMain.ShowMensajes("youtube-dl se instaló con éxito")
        Wait 1
      Else
        FMain.ShowMensajes("Fallo la instalación de youtube-dl")
        Wait 2
      Endif
    Endif
  Endif

  MostrarVersionYoutube_dl

Catch
  Message.Error(Error.Text & gb.NewLine & Error.Where)

End

 

bueno descubrí algo no me andaba a mi porque pip3 va con la ruta absoluta, hago mas pruebas y les cuento.
como se ve en el código ahí.
Última modificación: 06-10-2020, 17:45 por kokodrilo.

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
vuott   06-10-2020, 17:51
#4
(06-10-2020, 17:14)kokodrilo escribió: uso un formulario llamado terminal con un terminalview y lo uso como clase

Desculpa, no lo encuentro. Sad
Como haces ? Donde está ? Que Componente usas ?

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
kokodrilo   06-10-2020, 18:59
#5
gb.term y gb.form.terminal

parece que esto funciona:

  TerminalView1.Print("Comenzando tarea espere por favor..." & gb.Lf)
  TerminalView1.Goto(0, 2)
  Proceso5 = TerminalView1.Exec(["sudo", "pip3", "install", "--force-reinstall", "youtube-dl"], ["bash"])

  While proceso5.State = Process.Running
    Wait 1 ' 0.5
  Wend
  Wait 0.1
  proceso5.close

  Me.Close
Última modificación: 06-10-2020, 19:35 por kokodrilo.

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
vuott   06-10-2020, 20:52
#6
(06-10-2020, 18:59)kokodrilo escribió: gb.term y gb.form.terminal

Ah, ok, gracias.

(06-10-2020, 18:59)kokodrilo escribió: While proceso5.State = Process.Running

Sì, usando Process, me parece la mejor solución.
Última modificación: 06-10-2020, 20:54 por vuott.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
kokodrilo   06-10-2020, 21:02
#7
solucionado:

Public Sub installyoutube()

  Dim proceso5 As Process

  Me.show()

  TerminalView1.Print("Comenzando la tarea espere por favor..." & gb.Lf)
  TerminalView1.Goto(0, 2)
  Proceso5 = TerminalView1.Exec(["sudo", "pip3", "install", "--force-reinstall", "youtube-dl"], ["bash"])

  While proceso5.State = Process.Running
    Wait 1
  Wend

  proceso5.close

  Me.Close

Catch

End

Última modificación: 06-10-2020, 21:09 por kokodrilo.

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.