tiramisu-cmdline-parser/README.md
2024-07-30 11:31:18 +02:00

60 lines
1.8 KiB
Markdown

# tiramisu-cmdline-parser
Python3 parser for command-line options and arguments using Tiramisu engine.
# simple example
```python
#!/usr/bin/env python3
from tiramisu_cmdline_parser import TiramisuCmdlineParser
from tiramisu import StrOption, BoolOption, SymLinkOption, OptionDescription, \
Config
parser = TiramisuCmdlineParser()
booloption = BoolOption('verbosity',
'increase output verbosity',
default=False)
config = Config(OptionDescription('root', 'root', [StrOption('var',
'a string option',
properties=('mandatory',
'positional')),
booloption,
SymLinkOption('v', booloption)]))
parser.add_arguments(config)
parser.parse_args()
print('result:', config.value.dict())
```
```bash
[gnunux@localhost tiramisu-parser]$ ./prog.py -h
usage: prog.py [-h] [-v] var
positional arguments:
var a string option
optional arguments:
-h, --help show this help message and exit
-v, --verbosity increase output verbosity
```
```bash
[gnunux@localhost tiramisu-parser]$ ./prog.py -v
usage: prog.py [-h] [-v] var
prog.py: error: the following arguments are required: var
```
```bash
[gnunux@localhost tiramisu-parser]$ ./prog.py test
result: {'var': 'test', 'verbosity': False, 'v': False}
```
```bash
[gnunux@localhost tiramisu-parser]$ ./prog.py -v test
result: {'var': 'test', 'verbosity': True, 'v': True}
```
```bash
[gnunux@localhost tiramisu-parser]$ ./prog.py --verbosity test
result: {'var': 'test', 'verbosity': True, 'v': True}
```