Compare commits
2 Commits
bb9d1a237c
...
0fc052efe0
Author | SHA1 | Date |
---|---|---|
NotAFile | 0fc052efe0 | |
NotAFile | 750c8d3e28 |
|
@ -44,6 +44,13 @@ if __name__ == "__main__":
|
|||
- [ ] xargs (only prints)
|
||||
- [x] shell commands (no stderr capture)
|
||||
- [x] jq via bindings
|
||||
- [ ] grep
|
||||
- [ ] head/tail
|
||||
- [ ] sort
|
||||
- [ ] 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"]
|
||||
|
||||
def generate(self, input_name: str, output_formats: List[str]) -> ShellMapping:
|
||||
if self._parsed.raw_output:
|
||||
# TODO: remove join hack with proper datatype analysis
|
||||
code = dedent(f"""\
|
||||
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"])
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue