Dóna una nova vida als teus scripts amb dialog


Si alguna vegada us heu vist a fer sripts bé pel vostre propi
ús o per l’us d’altres us n’haureu adonat de la pobresa de les
entrades i sortides d’informació. Això no té per què ser així, dialog
ens ajuda!

dialog és un petit programet pensar per a ser utilitzat dins els nostres scripts
i ens proporciona una manera elegant de demanar i mostrar informació.
Podem mostrar des de’l típoc “hola món” fins a fer que l’usuari trii un
arxiu, o seleccione una de les opcions d’un menú que li poguem presentar.
Així fent

$ dialog –msgbox ‘hola món!’ 0 0

Ja tenim el nostre primer diàleg informatiu!
Una ulladeta a man dialog i veurem la quantitat de diàlegs i opcions que es poden fer servir.

–calendar text height width day month year
–checklist text height width list height tag1 item1 status1…
–fselect filepath directory height width
–gauge text height width [percent]
–infobox text height width
–inputbox text height width [init]
–menu text height width menu height tag1 item1…
–msgbox text height width
–passwordbox text height width [init]
–radiolist text height width list height tag1 item1 status1…
–tailbox file height width
–tailboxbg file height width
–textbox file height width
–timebox text height width hour minute second
–yesno text height width

Ara bé (que vol dir moro) la crida a dialog dins uns script bash o sh pot ser un problema degut a la quantitat d’opcions que hem de posar-hi, ja que en dificulta la legibilitat i el mantenimient.
Això mateix degué pensar Robb Scheter quan va crear un
mòdul per
Python
per tal de simplificar la utilització d’aquest programa. Així una vegada devallat el mòdul podem crear un menu molt ràpidament. Per exemple aquí us don un petit esquelet

#!/usr/bin/env python
#
#Petita demostració de Dialog
#—————————-
#A. Aloy

from dialog import Dialog
import os

dlg = Dialog() #Cream la instància
# Títol de la finestra
dlg.setBackgroundTitle(‘Utilitats vàries’)

menu = [‘Actualitzar CVS’,
‘Crear còpia de seguretat’,
‘rsync’,
’emerge <programa>’,
‘Sortir’]

#Sempre pos sortir el darrer de tots

op = “”

while op!=menu[len(menu)-1] and op!=None:
op =dlg.menu(‘Tria una opció’, list=menu)
print op
if op == menu[0]:
# Actualitzam CVS
os.system(‘sh update.sh’)
elif op == menu[1]:
# Crear còpia de seguretat
if dlg.yesno(‘Segur que vols fer la còpia’,
title=”Confirma”):
print “Realitzant la còpia”
#os.system(<aqui va l’ordre>)
elif op == menu[2]:
# Fer rsync
os.system(’emerge rsync’)
elif op == menu[3]:
# Instal·lar um programa
programa = dlg.inputbox(‘Programa? ‘,init=”)
opcio=dlg.radiolist(‘Tria una opció’,
list=[‘pretend’,’update’,’oneshot’],
selected=1)
ordre = ’emerge –%s’ % opcio
dlg.msgbox(‘Se farà %s’ % ordre)
# i fariem l’emerge
elif op == menu[4]:
# Sortir
dlg.msgbox(‘Bye!’)

Com podeu comprovar, si afegim la claretat de Python amb la utilitat de
dialg podem construir-nos interfíces d’usuari senzilles però potents que
donaran el toc de professionalitat que desitjam al nostres scrips, i sense
perder-hi massa temps!

I aquí hi hauria d’haver el codi font del programet. Quan funcioni l’enllaç clar!

Que ho disfruteu!

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1452 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.