Buona sera a tutti.. Questa è la mia primissima discussione quindi vi chiedo scusa in anticipo per i miei errori! ;D
Io ho creato il mio primo "programmino" unendo Gambas con Python.
Il programmino aggiorna Ubuntu e lo ripulisce da vecchie librerie (so che potevo usare Bash ma voglio imparare ad usare Python).
Il programma in Python è questo (upclean.py):
import os
fine=0
while fine==0:
update=0
clean=0
scelta=0
while scelta<1 or scelta>3:
scelta=int(input("Vuoi\n1 - Aggiornare\n2 - Pulire\n3 - Tutto\n"))
if scelta<1 or scelta>3:
print("Valore inserito non valido!")
if scelta==1:
update=1
elif scelta==2:
clean=1
elif scelta==3:
update=1
clean=1
if update==1:
print("Avvio aggiornamento...")
os.system('sudo apt-get update && sudo apt-get upgrade')
print("Aggiornamento andato a buon fine!")
if clean==1:
print("Avvio pulizia...")
os.system('sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove')
print("Pulizia andata a buon fine!")
fine=int(input("Vuoi fare altro?\n0 sì\n1 no\n"))
print("Ciao ciao. Alla prossima.")
L'interfaccia grafica l'ho creata in Gambas perchè.... perchè mi piace!! ;D
Il programmino è questo:
PUBLIC SUB _new()
END
PUBLIC SUB Form_Open()
END
PUBLIC SUB Button1_Click()
SHELL "cd && gksu python3.1 upclean.py" WAIT
Message.Info("Processo eseguito!", "Fine processo")
END
PUBLIC SUB Button2_Click()
Message.Info("Ciao ciao!", "Exit")
FMain.Close()
END
Il problema è questo: quando avvio il programma in Python mi chiede di effettuare la scelta ma dalla console di Gambas non posso fare input.
Come posso fare?
Grazie mille in anticipo a tutti!!
Yuri.
Premetto che non volevo essere irrispettoso nei confronti di nessuno.. ho molto rispetto anzi per qualsiasi persona che si dà da fare per il progresso del software libero.
Comunque ammetto di aver ampiamente sottovalutato le potenzialità di Gambas.
Chiedo scusa a chiunque si sia sentito offeso.
Ho provato a modificare il programmino di Gambas escludendo Python in poche parole
PUBLIC SUB _new()
END
PUBLIC SUB Form_Open()
END
PUBLIC SUB Button1_Click()
SHELL "cd && gksu apt-get update" WAIT
Message.Info("Processo eseguito!", "Fine processo")
END
PUBLIC SUB Button2_Click()
Message.Info("Ciao ciao!", "Exit")
FMain.Close()
END
Niente di più semplice!
Il problema però è rimasto in quanto, quando ci sono degli aggiornamenti, a terminale appare la scritta "... dopo l'aggiornamento verranno occupati x mb di spazio. Procedere [s/n]?".
Come posso fare ad interagire col terminale?
Grazie mille per la dritta Ceskho e grazie a chi mi aiuterà.
Ciao a tutti. Mi unisco alla discussione perché mi interessa questo punto
Altro dubbio: come faccio ad inserire l'output del terminale in una textbox?
cioè vorrei che i comandi che attualmente richiamo con
SHELL "xterm -e 'bla bla bla'"
possa invece indirizzarli verso un terminale creato appositamente o una textbox.
Grazie :)