
    ce                    Z    d Z ddlmZ g dZddlZddlZddlZddlmZ dd	Z	ddZ
ddZdS )z0Collection of utility components to use by APIs.    )annotations)normalize_certificateis_internet_availablesplit_canonical_nameN)CONFvaluetyping.Union[None, bool, str]returnc                r    t          | t                    r!t          j                            |           sdS | S )z;Check if certificate value is valid and fix it if required.T)
isinstancestrospathexists)r   s    <lib/python3.11/site-packages/anaconda_navigator/api/utils.pyr   r      s3    % rw~~e'<'< tL    boolc                     	 t          j        dd          } n# t          t          j        f$ r Y dS w xY wt          |            S )zCheck internet availability.mainoffline_modeT)r   getAttributeErrorconfigparserNoOptionErrorr   )config_values    r   r   r      sU    x77L67   ttL!!!!s    22cnamer   typing.Tuple[str, ...]c                H    t          |                     dd                    S )z9Split a canonical package name into name, version, build.-   )tuplersplit)r   s    r   r   r       s    c1%%&&&r   )r   r	   r
   r	   )r
   r   )r   r   r
   r   )__doc__
__future__r   __all__r   r   typinganaconda_navigator.configr   r   r   r    r   r   <module>r)      s    7 6 " " " " " "
T
T
T     				  * * * * * *   " " " "' ' ' ' ' 'r   