elaborate in README

This commit is contained in:
NotAFile 2021-09-29 16:20:35 +02:00
parent 4015de11f7
commit 72788c7056
1 changed files with 47 additions and 1 deletions

View File

@ -1,3 +1,49 @@
# hellpipe
wip: generate python scripts from (s)hell pipelines
wip: generate python scripts from (s)hell pipelines
Intended to be used with a shell plugin to make those oneliners that get out of hand more manageable.
## Example
`curl "https://httpbin.org/get?test=123" | jq ".headers|keys[]" -r | xargs -L 1 echo`
```python
import requests
import subprocess
import sys
import shlex
# generated with hellpipe
def main():
params = {"test": ["123"]}
res = requests.get("https://httpbin.org/get", params=params).text
proc = subprocess.Popen(
["jq", ".headers|keys[]", "-r"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=sys.stderr,
)
(stdout, _) = proc.communicate(res.encode("utf-8"))
out_jq = stdout.decode("utf-8")
for i in shlex.split(out_jq, posix=True):
print(i) # TODO
if __name__ == "__main__":
main()
```
## Currently Supported Mappings
- [x] curl -> requests (very basic)
- [ ] xargs (only prints)
- [x] shell commands (no stderr capture)
- [ ] jq via bindings
- [ ] head/tail
- [ ] sort
- [ ] basic shell loops