From c4639aef767269e1fff6ced63500dcca1bd2f8de Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Thu, 27 Feb 2025 00:24:37 -0500 Subject: [PATCH 1/3] fix: store relative path to root --- joj3_config_generator/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/joj3_config_generator/main.py b/joj3_config_generator/main.py index 91d879a..271954f 100644 --- a/joj3_config_generator/main.py +++ b/joj3_config_generator/main.py @@ -72,9 +72,9 @@ def convert( ) task_obj = rtoml.loads(task_toml_path.read_text()) repo_conf = repo.Config(**repo_obj) - repo_conf.path = repo_toml_path + repo_conf.path = repo_toml_path.relative_to(root) task_conf = task.Config(**task_obj) - task_conf.path = task_toml_path + task_conf.path = task_toml_path.relative_to(root) result_model = convert_conf(repo_conf, task_conf) result_dict = result_model.model_dump(by_alias=True, exclude_none=True) with result_json_path.open("w") as result_file: From 4c12bf9a342231658b9274053279568cc40c5436 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Thu, 27 Feb 2025 01:14:40 -0500 Subject: [PATCH 2/3] fix: store root path --- joj3_config_generator/main.py | 2 +- joj3_config_generator/models/repo.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/joj3_config_generator/main.py b/joj3_config_generator/main.py index 271954f..eaf9c04 100644 --- a/joj3_config_generator/main.py +++ b/joj3_config_generator/main.py @@ -72,9 +72,9 @@ def convert( ) task_obj = rtoml.loads(task_toml_path.read_text()) repo_conf = repo.Config(**repo_obj) + repo_conf.root = root repo_conf.path = repo_toml_path.relative_to(root) task_conf = task.Config(**task_obj) - task_conf.path = task_toml_path.relative_to(root) result_model = convert_conf(repo_conf, task_conf) result_dict = result_model.model_dump(by_alias=True, exclude_none=True) with result_json_path.open("w") as result_file: diff --git a/joj3_config_generator/models/repo.py b/joj3_config_generator/models/repo.py index 288096f..5149e18 100644 --- a/joj3_config_generator/models/repo.py +++ b/joj3_config_generator/models/repo.py @@ -12,7 +12,8 @@ class Files(BaseModel): class Config(BaseModel): - path: Path = Path(".") + root: Path = Path(".") + path: Path = Path("repo.toml") teaching_team: List[str] max_size: float = Field(..., ge=0) release_tags: List[str] From 723705b94fc8c8006c6c1ca73181efdf70850033 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Thu, 27 Feb 2025 01:17:14 -0500 Subject: [PATCH 3/3] fix: store path for both conf objs --- joj3_config_generator/main.py | 2 ++ joj3_config_generator/models/task.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/joj3_config_generator/main.py b/joj3_config_generator/main.py index eaf9c04..cf522c9 100644 --- a/joj3_config_generator/main.py +++ b/joj3_config_generator/main.py @@ -75,6 +75,8 @@ def convert( repo_conf.root = root repo_conf.path = repo_toml_path.relative_to(root) task_conf = task.Config(**task_obj) + task_conf.root = root + task_conf.path = task_toml_path.relative_to(root) result_model = convert_conf(repo_conf, task_conf) result_dict = result_model.model_dump(by_alias=True, exclude_none=True) with result_json_path.open("w") as result_file: diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py index ab15bf7..6672d02 100644 --- a/joj3_config_generator/models/task.py +++ b/joj3_config_generator/models/task.py @@ -33,7 +33,8 @@ class Release(BaseModel): class Config(BaseModel): - path: Path = Path(".") + root: Path = Path(".") + path: Path = Path("conf.toml") task: str # Task name (e.g., hw3 ex5) release: Release # Release configuration stages: List[Stage] # list of stage configurations