Make product-data skill portable
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from product_data_portable import (
|
||||
DEFAULT_REQUEST_ID,
|
||||
DEFAULT_TIMESTAMP_STEP_MS,
|
||||
emit_error,
|
||||
emit_success,
|
||||
load_json_payload,
|
||||
normalize_dataset_draft,
|
||||
)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
try:
|
||||
payload = load_json_payload()
|
||||
draft_text = str(payload.get("draft_text") or "")
|
||||
if not draft_text and payload.get("draft_path"):
|
||||
draft_text = Path(str(payload["draft_path"])).expanduser().read_text(encoding="utf-8")
|
||||
result = normalize_dataset_draft(
|
||||
draft_text,
|
||||
batch_id=str(payload.get("batch_id") or DEFAULT_REQUEST_ID),
|
||||
source_type=str(payload.get("source_type") or "generated"),
|
||||
base_timestamp=payload.get("base_timestamp"),
|
||||
timestamp_step_ms=int(payload.get("timestamp_step_ms") or DEFAULT_TIMESTAMP_STEP_MS),
|
||||
default_request_id=str(payload.get("default_request_id") or DEFAULT_REQUEST_ID),
|
||||
)
|
||||
emit_success(result)
|
||||
return 0
|
||||
except Exception as exc: # noqa: BLE001 - CLI 需要把错误稳定转成 JSON
|
||||
emit_error(exc)
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user