Library of xonsh subprocess specification modifiers.
If you like the idea click ⭐ on the repo and tweet.
To install use pip:
xpip install xontrib-spec-mod
xpip install 'xontrib-spec-mod[dict,yaml]' # Extra decorators.
Load:
xontrib load spec_mod
Default decorators:
-
@lines
- return list of lines. -
@json
- json to Pythondict
. -
@path
- string topathlib.Path
.
Extra decorators:
xpip install 'xontrib-spec-mod[dict,yaml]'
-
@dict
- dict-like object (json, JavaScript object, Python dict) to Pythondict
. -
@yaml
- YAML to Pythondict
.
$(@lines ls /)
# ['/bin', '/etc', '/home']
$(@json echo '{"a":1}') # Try with `curl` ;)
# dict({"a":1})
docker inspect @($(@json docker ps --format json)['ID'])
# Container info
$(@path which xonsh)
# Path('/path/to/xonsh')
$(@path which xonsh).parent
# Path('/path/to')
aliases['ydig'] = '@yaml dig +yaml' # Update `dig` via `brew install bind` to have `+yaml`.
y = $(ydig google.com)
y[0]['type']
# 'MESSAGE'
Default decorators:
-
@err
- set$RAISE_SUBPROC_ERROR=True
for the command. -
@noerr
- set$RAISE_SUBPROC_ERROR=False
for the command.
Examples:
$RAISE_SUBPROC_ERROR = True # General environment.
if ![@noerr ls nononofile]: # Do not raise exception in case of error.
echo file
This package was created with xontrib template.