o
    ¡¿¯i’  ã                   @   s   d dl Z d dlZdd„ ZdS )é    Nc                 C   sœ   t | tjƒs| du sJ ‚t|ƒsJ ‚|t ¡ ƒ ¡ \}}| du r"i nt| ƒ} t|ƒ}| ¡ D ]\}}|| vrEt 	d|t
|ƒf ¡ || |< q.tjdi | ¤ŽS )aN  Fill missing arguments in args.

    Args:
        args (Namespace or None): Namesapce containing hyperparameters.
        add_arguments (function): Function to add arguments.

    Returns:
        Namespace: Arguments whose missing ones are filled with default value.

    Examples:
        >>> from argparse import Namespace
        >>> from espnet.nets.pytorch_backend.e2e_tts_tacotron2 import Tacotron2
        >>> args = Namespace()
        >>> fill_missing_args(args, Tacotron2.add_arguments_fn)
        Namespace(aconv_chans=32, aconv_filts=15, adim=512, atype='location', ...)

    Nz.attribute "%s" does not exist. use default %s.© )Ú
isinstanceÚargparseÚ	NamespaceÚcallableÚArgumentParserÚparse_known_argsÚvarsÚitemsÚloggingÚinfoÚstr)ÚargsÚadd_argumentsÚdefault_argsÚ_ÚkeyÚvaluer   r   úR/home/ubuntu/.local/lib/python3.10/site-packages/espnet/utils/fill_missing_args.pyÚfill_missing_args
   s   ÿ€r   )r   r   r   r   r   r   r   Ú<module>   s   