elaborate in README
This commit is contained in:
parent
4015de11f7
commit
72788c7056
48
README.md
48
README.md
|
@ -1,3 +1,49 @@
|
||||||
# hellpipe
|
# 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
|
||||||
|
|
Loading…
Reference in New Issue