a
    i‚jW  ã                
   @  s  d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlmZ	 ddl
mZ ejrjddlmZ d	ejv rˆddlmZ e ¡  ejddddddddœdd„ƒZejdddœdddddddœdd„ƒZejdddœdddddddœdd„ƒZdddœdd„ZdS )zEpath FLAGS utils.é    )ÚannotationsN)ÚOptional)Úabstract_path)Útyping)ÚLiteral©Úflagsz
absl.flags.ÚstrÚNonezflags.FlagValueszLiteral[True]z$flags.FlagHolder[abstract_path.Path])ÚnameÚdefaultÚhelpÚflag_valuesÚrequiredÚreturnc                K  s   d S ©N© ©r   r   r   r   r   Úkwargsr   r   úO/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/etils/epath/flags.pyÚDEFINE_path(   s    
r   F)r   zLiteral[False]z.flags.FlagHolder[Optional[abstract_path.Path]]c                K  s   d S r   r   r   r   r   r   r   6   s    
zepath_typing.PathLikec                K  s   d S r   r   r   r   r   r   r   D   s    
c          	      K  sb   ddl m} |du r|j}G dd„ d|jƒ}G dd„ d|jƒ}|j|ƒ | ||||ƒ fd|i|¤ŽS )	z-Defines a flag containing a epath.Path value.r   r   Nc                   @  s   e Zd Zdd„ ZdS )z DEFINE_path.<locals>._PathParserc                 S  s
   t  |¡S r   )r   ÚPath©ÚselfÚvaluer   r   r   Úparsed   s    z&DEFINE_path.<locals>._PathParser.parseN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   Ú_PathParserb   s   r   c                   @  s   e Zd Zdd„ ZdS )z$DEFINE_path.<locals>._PathSerializerc                 S  s
   t  |¡S r   )ÚosÚfspathr   r   r   r   Ú	serializei   s    z.DEFINE_path.<locals>._PathSerializer.serializeN)r   r   r   r"   r   r   r   r   Ú_PathSerializerg   s   r#   r   )Úabslr   ÚFLAGSÚArgumentParserZArgumentSerializerZDEFINE)	r   r   r   r   r   r   r   r   r#   r   r   r   r   Q   s"    úùø).).).)N)Ú__doc__Ú
__future__r   r    Úsysr   r   Zetils.epathr   Zepath_typingZtyping_extensionsr   ÚTYPE_CHECKINGr$   r   ÚmodulesZdisclaim_key_flagsÚoverloadr   r   r   r   r   Ú<module>   s<   
 ü üú üú üú