add non-raw jq option

This commit is contained in:
NotAFile 2021-09-29 17:37:36 +02:00
parent bb9d1a237c
commit 750c8d3e28
1 changed files with 10 additions and 4 deletions

View File

@ -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"])