fix: unnecessary fields check alias
All checks were successful
build / build (push) Successful in 1m50s
build / trigger-build-image (push) Successful in 11s

This commit is contained in:
张泊明518370910136 2025-06-26 08:28:16 -04:00
parent f4248a59a5
commit c7b02f17a2
GPG Key ID: D47306D7062CDA9D

View File

@ -5,7 +5,7 @@ from typing import Any, Dict, Tuple, Type, cast
import inquirer import inquirer
import tomli import tomli
import yaml import yaml
from pydantic import BaseModel from pydantic import AliasChoices, BaseModel
from joj3_config_generator.models import answer, joj1, repo, task from joj3_config_generator.models import answer, joj1, repo, task
from joj3_config_generator.models.common import Memory, Time from joj3_config_generator.models.common import Memory, Time
@ -83,8 +83,16 @@ def load_joj3_toml(
f"{current_path}.{field_name}" if current_path else field_name f"{current_path}.{field_name}" if current_path else field_name
) )
toml_field_name = field_name toml_field_name = field_name
if field_info.alias in input_dict: if field_info.validation_alias:
toml_field_name = field_info.alias if isinstance(field_info.validation_alias, str):
if field_info.validation_alias in input_dict:
toml_field_name = field_info.validation_alias
elif isinstance(field_info.validation_alias, AliasChoices):
for choice in field_info.validation_alias.choices:
if choice in input_dict:
if isinstance(choice, str):
toml_field_name = choice
break
if toml_field_name not in input_dict: if toml_field_name not in input_dict:
continue continue
toml_value = input_dict[toml_field_name] toml_value = input_dict[toml_field_name]