first commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
if str(REPO_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(REPO_ROOT))
|
||||
|
||||
import sync_state_machine.domain # noqa: F401
|
||||
from sync_state_machine.pipeline.copy_data_pipeline import CopyDataPipeline
|
||||
|
||||
|
||||
async def _main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Run standalone JSONL->JSONL copy pipeline in sync_state_machine")
|
||||
parser.add_argument("--source-dir", required=True, help="Source JSONL directory")
|
||||
parser.add_argument("--target-dir", required=True, help="Target JSONL directory")
|
||||
parser.add_argument("--node-types", nargs="*", default=None, help="Optional node type whitelist")
|
||||
args = parser.parse_args()
|
||||
|
||||
pipeline = CopyDataPipeline(
|
||||
source_dir=Path(args.source_dir),
|
||||
target_dir=Path(args.target_dir),
|
||||
node_types=args.node_types,
|
||||
)
|
||||
stats = await pipeline.run()
|
||||
print("\n[Standalone Result]", stats)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(_main())
|
||||
Reference in New Issue
Block a user