Caipyrinha 0.1

Si hay algo desordenado que me queda siempre son los parsers de linea de comando. Así que se me ocurrió caipyrinha

Que hace caipyrinha? te da un decorador para hacer argumentos de linea de comando a mi criterio… mas facilmente

Aca tienen como instalarlo: http://caipyrinha.readthedocs.org

si lo instalan con este código:

# ex.py

import caipyrinha

parser = caipyrinha.Caipyrinha(prog="Your Program")
parser.add_argument("--version", action='version', version="%(prog)s 0.1")

@parser.callback(exit=0, group="group1")
def first(flags, returns):
    '''Execute this option and exit'''
    print "bye bye"

@parser.callback(action="store")
def second(flags, returns):
    '''set his own return value with his parameter'''
    return flags.second

@parser.callback("--third", group="group1")
def no_used_name(flags, returns):
    '''you cant use this argument with first'''
    print returns.second

import sys
parser(sys.argv[1:])

Tienen este resultado

2013-01-23-030740_1056x346_scrot

Aca tienen un link donde lo estoy usando:  http://bitbucket.org/leliel12/yatel/src/tip/bin/yatel

Anuncios

Acerca de JuanBC
About Me. * Ing. en Sistemas. * Entusiasta de los comics. * Linux user. * Java, Bash, Python, C. * RPG Fan. * Escritor.

2 Responses to Caipyrinha 0.1

  1. Juanlu001 says:

    ¿Estás al corriente de esto?

    http://docopt.org/

    Si no quieres ver el vídeo entero, los 7 primeros minutos son suficientes.

    • JuanBC says:

      lo vi entero. El drama con docopt, y optparse, y argparse…. es que separa opcion de codigo de que ejecuta ese funcion. Cuando escribi caipyrinha mi objetivo fue que automaticamente al ver la opcion veas la funcion que ejecuta dicha funcion. Es por eso que esencialmente es un decorador

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: