Skip to content

Commit d593b09

Browse files
authored
fix: parse json string in command line (#400)
1 parent 741067a commit d593b09

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/aind_metadata_mapper/gather_metadata.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import json
44
import logging
55
import os
6+
import sys
67
from datetime import datetime, timezone
78
from pathlib import Path
89
from typing import Any, Dict, Optional
@@ -22,9 +23,9 @@
2223
from aind_data_schema_models.organizations import Organization
2324
from pydantic import ValidationError
2425

25-
from aind_metadata_mapper.models import JobSettings
2626
from aind_metadata_mapper.base import MapperJobSettings
2727
from aind_metadata_mapper.mapper_registry import registry
28+
from aind_metadata_mapper.models import JobSettings
2829

2930

3031
def _metadata_service_helper(url: str) -> Optional[dict]:
@@ -606,8 +607,10 @@ def run_job(self) -> None:
606607

607608

608609
if __name__ == "__main__":
609-
# JobSettings has cli_parse_args=True, so it automatically parses command line arguments
610-
# and handles converting CLI args to the appropriate types
611-
main_job_settings = JobSettings()
610+
# Allows a user to input job-settings as json string in command line
611+
if len(sys.argv[1:]) == 2 and sys.argv[1] == "--job-settings":
612+
main_job_settings = JobSettings.model_validate_json(sys.argv[2])
613+
else:
614+
main_job_settings = JobSettings()
612615
job = GatherMetadataJob(settings=main_job_settings)
613616
job.run_job()

0 commit comments

Comments
 (0)