
    Vh                    H    d dl mZ d dlmZ d	dZd	dZd Z G d de      Zy)
    )annotations)urlparseNc                    	 t        |       }t        |j                  du|j                  du| xs |j                  |v g      }|S # t        $ r}d}Y d}~|S d}~ww xY w)zk Will verify that the string passed is a valid 'URI', if given a list of valid schemes it will match those NF)r   allschemepath	Exception)valueschemesxisites        H/home/dcms/DCMS/lib/python3.12/site-packages/ansible/plugins/test/uri.pyis_urir      sg    UOAHHD(!&&*<'k>`QXXY`M`ab K  Ks   AA 	AAAc                    t        | |      }|r4	 t        |       }t        |j                  xs |j                  dk(        }|S |S # t
        $ r}d}Y d}~|S d}~ww xY w)z5 Will verify that the string passed is a valid 'URL' fileFN)r   r   boolnetlocr   r	   )r
   r   r   r   r   s        r   is_urlr      sd     %!D	A6AHH$67D K4K  	DK	s   1A 	AAAc                    t        | dg      S )Nurn)r   )r
   s    r   is_urnr      s    %%!!    c                      e Zd ZdZd Zy)
TestModulez Ansible URI jinja2 test c                &    t         t        t        dS )N)uriurlr   )r   r   r   )selfs    r   testszTestModule.tests&   s     	
 	
r   N)__name__
__module____qualname____doc__r     r   r   r   r   #   s
    #
r   r   )N)	
__future__r   urllib.parser   r   r   r   objectr   r%   r   r   <module>r)      s(    # !
"	
 	
r   