
    [Th?                     D    S SK r S SKJr   " S S\5      r " S S\5      rg)    N)Actionc                   >   ^  \ rS rSrSrSSU 4S jjjrSS jrSrU =r$ )	env   aL  
Get argument values from ``PET_{dest}`` before defaulting to the given ``default`` value.

For flags (e.g. ``--standalone``)
use ``check_env`` instead.

.. note:: when multiple option strings are specified, ``dest`` is
          the longest option string (e.g. for ``"-f", "--foo"``
          the env var to set is ``PET_FOO`` not ``PET_F``)

Example:
::

 parser.add_argument("-f", "--foo", action=env, default="bar")

 ./program                                      -> args.foo="bar"
 ./program -f baz                               -> args.foo="baz"
 ./program --foo baz                            -> args.foo="baz"
 PET_FOO="env_bar" ./program -f baz    -> args.foo="baz"
 PET_FOO="env_bar" ./program --foo baz -> args.foo="baz"
 PET_FOO="env_bar" ./program           -> args.foo="env_bar"

 parser.add_argument("-f", "--foo", action=env, required=True)

 ./program                                      -> fails
 ./program -f baz                               -> args.foo="baz"
 PET_FOO="env_bar" ./program           -> args.foo="env_bar"
 PET_FOO="env_bar" ./program -f baz    -> args.foo="baz"
c                    > SUR                  5        3n[        R                  R                  XR5      nU(       a  Sn[        TU ]  " SXUS.UD6  g )NPET_F)destdefaultrequired )upperosenvirongetsuper__init__)selfr	   r
   r   kwargsenv_name	__class__s         W/var/www/auris/envauris/lib/python3.13/site-packages/torch/distributed/argparse_util.pyr   env.__init__,   sH    $**,(**..3 HQdhQ&Q    c                 0    [        X R                  U5        g N)setattrr	   r   parser	namespacevaluesoption_strings        r   __call__env.__call__9   s    	99f-r   r   )NFreturnNr   	__name__
__module____qualname____firstlineno____doc__r   r"   __static_attributes____classcell__r   s   @r   r   r      s    <R R. .r   r   c                   >   ^  \ rS rSrSrSSU 4S jjjrSS jrSrU =r$ )		check_env=   a  
Check whether the env var ``PET_{dest}`` exists before defaulting to the given ``default`` value.

Equivalent to
``store_true`` argparse built-in action except that the argument can
be omitted from the commandline if the env var is present and has a
non-zero value.

.. note:: it is redundant to pass ``default=True`` for arguments
          that use this action because a flag should be ``True``
          when present and ``False`` otherwise.

Example:
::

 parser.add_argument("--verbose", action=check_env)

 ./program                                  -> args.verbose=False
 ./program --verbose                        -> args.verbose=True
 PET_VERBOSE=1 ./program           -> args.verbose=True
 PET_VERBOSE=0 ./program           -> args.verbose=False
 PET_VERBOSE=0 ./program --verbose -> args.verbose=True

Anti-pattern (don't do this):

::

 parser.add_argument("--verbose", action=check_env, default=True)

 ./program                                  -> args.verbose=True
 ./program --verbose                        -> args.verbose=True
 PET_VERBOSE=1 ./program           -> args.verbose=True
 PET_VERBOSE=0 ./program           -> args.verbose=False

c                    > SUR                  5        3n[        [        [        R                  R                  XB(       a  SOS5      5      5      n[        TU ]  " SUSUSS.UD6  g )Nr   10Tr   )r	   constr
   nargsr   )r   boolintr   r   r   r   r   )r   r	   r
   r   r   r   s        r   r   check_env.__init__b   sR    $**,(s2::>>(7CLMNSd$qSFSr   c                 D    [        X R                  U R                  5        g r   )r   r	   r5   r   s        r   r"   check_env.__call__g   s    	99djj1r   r   )Fr$   r   r&   r.   s   @r   r0   r0   =   s    "HT T
2 2r   r0   )r   argparser   r   r0   r   r   r   <module>r=      s&    
 -.& -.`+2 +2r   