o
    7Di                     @   sZ   d Z ddlmZ ddlmZ ddlmZ defddZdefdd	Zedefd
dZdS )zURI.   )email)url)	validatorvaluec                 C      |  dsdS dS )Nzfile:///FT
startswithr    r
   G/var/www/Datamplify/venv/lib/python3.10/site-packages/validators/uri.py	_file_url      
r   c                 C   r   )Nzipfs://FTr   r	   r
   r
   r   	_ipfs_url   r   r   c                   s    sdS t  fdddD rt S  dr"t tdd S  dr+t S  dr4t S  d	r;d
S  drBd
S  drId
S  drPd
S  drWd
S dS )a  Return whether or not given value is a valid URI.

    Examples:
        >>> uri('mailto:example@domain.com')
        True
        >>> uri('file:path.txt')
        ValidationError(func=uri, args={'value': 'file:path.txt'})

    Args:
        value:
            URI to validate.

    Returns:
        (Literal[True]): If `value` is a valid URI.
        (ValidationError): If `value` is an invalid URI.
    Fc                 3   s    | ]}  |V  qd S )Nr   ).0itemr	   r
   r   	<genexpr>0   s
    
zuri.<locals>.<genexpr>>   ftpgitircsshftpshttprtmprtspsftphttpsrtmpstelnetzmailto:Nzfile:zipfs:zmagnet:?Tztel:zdata:zurn:zurc:)anyr   r   r   lenr   r   r	   r
   r	   r   uri   s.   







r    N)	__doc__r   r   utilsr   strr   r   r    r
   r
   r
   r   <module>   s    