He estado creando funciones y demás, porque con el switch no he conseguido hacer nada. Por más que he buscado no he conseguido encontrar una sintaxys clara ni su utilizacion.
He probado a intentar llamar una funcion desde otra, pero no lo he conseguido y creo que eso es lo unico que me hace falta.
Aqui tienes el codigo actual en Python:
Código python:
Ver original#!bin/env python
import os
so = os.name
if so == "posix":
comando = "clear"
elif so == "nt":
comando = "cls"
os.system( comando )
#!------ Declaracion de funciones -------
def menu(opc, complaint='Tienes que elegir alguna opcion del menu'):
opc=raw_input(opc)
for opc in('repositorios', 'repositorio'): actualizarRep
#!--------------------------@--------------------------------
def actualizarRep(ans, complaint='tienes que elegir si o no!'):
print 'Bienvenido al actualizador, quieres actualizar?[S/n] eleccion: '
ans= raw_input(ans)
if ans in ('s', 'si', 'SI', 'S', 'sip'): os.system('sudo apt-get update')
if ans in ('n'): return 1
#!--------------------------@---------------------------------
def salida(prompt, retries=4, complaint='Si o no, por favor!'):
while 1:
ok = raw_input(prompt)
if ok in ('s', 'si', 'SI', 'S', 'sip'): return 1
if ok in ('n', 'no', 'nop', 'nope'): os.system('python salir.py')
retries = retries - 1
if retries < 0: raise IOError, 'refusenik user'
print complaint
#!--------------------------@-----------------------------------
#!------ Fin declaracion de funciones ----------
print "Instalador GNU/Linux de gonzo"
print "======"
print "Escoge una opcion por favor"
print "Actualizar repositorios [repositorios]"
print "Actualizar distribucion [distribucion]"
#!------- Llamada a la funcion menu -----------
menu ('Eleccion: ')
#!------- Llamada a la funcion salida -----------
salida('Quieres salir?[S/n] eleccion: ')
El caso es que desde la funcion menu, no consigo hacer que llame a la funcion actualizarRep una vez que pongo su opcion correspondiente (hasta ahora las opciones son 'repositorio' o 'repositorios'). Lo que consigo cuando escribo en la funcion menu es que me pase directamente a la funcion salida.
El resto de opciones tienen tambien su funcion, es logico, pero no quiero crear más hasta no solucionar este problema para no ampliar mas el codigo teniendo errores previos.
Supongo que habra una formas más facil de hacer esto, pero no se cual, a ver si me podeis ayudar con una forma nueva o con esta. Creo que lo unico que necesito es llamar a la funcion actualizarRep desde la funcion menu.
Muchas gracias de nuevo,
Gonzo