mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
18 lines
582 B
Python
18 lines
582 B
Python
import argparse
|
|
import dataclasses
|
|
|
|
from typeguard import check_type
|
|
|
|
|
|
def build_dataclass(dataclass, args: argparse.Namespace):
|
|
"""Helper function to build dataclass from 'args'."""
|
|
kwargs = {}
|
|
for field in dataclasses.fields(dataclass):
|
|
if not hasattr(args, field.name):
|
|
raise ValueError(
|
|
f"args doesn't have {field.name}. You need to set it to ArgumentsParser"
|
|
)
|
|
check_type(field.name, getattr(args, field.name), field.type)
|
|
kwargs[field.name] = getattr(args, field.name)
|
|
return dataclass(**kwargs)
|