Compare commits
2 Commits
bb9d1a237c
...
0fc052efe0
Author | SHA1 | Date |
---|---|---|
NotAFile | 0fc052efe0 | |
NotAFile | 750c8d3e28 |
|
@ -44,6 +44,13 @@ if __name__ == "__main__":
|
||||||
- [ ] xargs (only prints)
|
- [ ] xargs (only prints)
|
||||||
- [x] shell commands (no stderr capture)
|
- [x] shell commands (no stderr capture)
|
||||||
- [x] jq via bindings
|
- [x] jq via bindings
|
||||||
|
- [ ] grep
|
||||||
- [ ] head/tail
|
- [ ] head/tail
|
||||||
- [ ] sort
|
- [ ] sort
|
||||||
- [ ] basic shell loops
|
- [ ] basic shell loops
|
||||||
|
- [ ] shell globs
|
||||||
|
- [ ] file operations (mv, cp, rm, ls)
|
||||||
|
- [ ] cat
|
||||||
|
- [ ] sed
|
||||||
|
- [ ] trim
|
||||||
|
- [ ] subshell
|
||||||
|
|
|
@ -98,10 +98,16 @@ class JqMapper(AbstractMapper):
|
||||||
return ["json", "bytes"]
|
return ["json", "bytes"]
|
||||||
|
|
||||||
def generate(self, input_name: str, output_formats: List[str]) -> ShellMapping:
|
def generate(self, input_name: str, output_formats: List[str]) -> ShellMapping:
|
||||||
|
if self._parsed.raw_output:
|
||||||
# TODO: remove join hack with proper datatype analysis
|
# TODO: remove join hack with proper datatype analysis
|
||||||
code = dedent(f"""\
|
code = dedent(f"""\
|
||||||
filtered = "\\n".join(jq.all({self._parsed.filter!r}, text={input_name}))
|
filtered = "\\n".join(jq.all({self._parsed.filter!r}, text={input_name}))
|
||||||
""")
|
""")
|
||||||
|
else:
|
||||||
|
code = dedent(f"""\
|
||||||
|
filtered = jq.text({self._parsed.filter!r}, text={input_name})
|
||||||
|
""")
|
||||||
|
|
||||||
return ShellMapping(code=code, output_name="filtered", output_format="str", input_format="", imports=["import jq"])
|
return ShellMapping(code=code, output_name="filtered", output_format="str", input_format="", imports=["import jq"])
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue