|
import os |
|
import sys |
|
from pathlib import Path |
|
|
|
import fire |
|
from typing import Optional |
|
|
|
|
|
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) |
|
src_dir = os.path.join(project_root, "src") |
|
sys.path.insert(0, src_dir) |
|
|
|
from axolotl.convert import * |
|
|
|
|
|
def main( |
|
input: Path, |
|
output: Optional[Path] = None, |
|
to_stdout: Optional[bool] = False, |
|
): |
|
file_reader = FileReader() |
|
if to_stdout or output is None: |
|
writer = StdoutWriter() |
|
else: |
|
writer = FileWriter(output) |
|
json_parser = JsonParser() |
|
jsonl_serializer = JsonlSerializer() |
|
|
|
converter = JsonToJsonlConverter(file_reader, writer, json_parser, jsonl_serializer) |
|
|
|
converter.convert(input, output) |
|
|
|
|
|
if __name__ == "__main__": |
|
fire.Fire(main) |
|
|