Abstraction layer over argparse.
Project description
Abstraction layer over argparse.
Caipyrinha added 2 methods to argparse.ArgumentParser, callback and parse_wc. Also a Caipyrinha instance is callable and is equal to use parse_wc method.
Example of use:
# 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, exclusive="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", exclusive="group1")
def no_used_name(flags, returns):
'''you cant use this argument with first'''
print returns.second
import sys
parser(sys.argv[1:])
Usage
$ python ex.py --help usage: Your Program [-h] [--version] [--first] [--second SECOND] [--third] optional arguments: -h, --help show this help message and exit --version show program's version number and exit --first Execute this option and exit --second SECOND set his own return value with his parameter --third you cant use this argument with first $ python ex.py --first bye bye $ python ex.py --first --second "hello from second" bye bye $ python ex.py --first --second "hello from second" --third usage: Your Program [-h] [--version] [--first] [--second SECOND] [--third] Your Program: error: argument --third: not allowed with argument --first $ python ex.py --second "hello from second" --third hello from second
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
caipyrinha-0.2.2.tar.gz
(7.3 kB
view details)
File details
Details for the file caipyrinha-0.2.2.tar.gz.
File metadata
- Download URL: caipyrinha-0.2.2.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad311aea0f953719882ca42a86aa65d37ddbd6418daa21188435837fef079e04
|
|
| MD5 |
35b68f5a35ef1ffff4feed5bcd1989e6
|
|
| BLAKE2b-256 |
4f2ccbdeb205c3a6c100e5e475c18014506e379d73a0fdcea9490880eb80d14f
|