o
    h                     @   s   d dl Z d dlmZ G dd dZG dd dZG dd dZG d	d
 d
eZG dd deZe e e e e dZi Z	dd Z
edddd Zdd ZdS )    N)	lru_cachec                   @       e Zd ZdZdd Zdd ZdS )IntConverterz[0-9]+c                 C      t |S N)intselfvalue r   ^/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/django/urls/converters.py	to_python      zIntConverter.to_pythonc                 C   r   r   strr   r   r   r   to_url   r   zIntConverter.to_urlN__name__
__module____qualname__regexr   r   r   r   r   r   r          r   c                   @   r   )StringConverterz[^/]+c                 C      |S r   r   r   r   r   r   r         zStringConverter.to_pythonc                 C   r   r   r   r   r   r   r   r      r   zStringConverter.to_urlNr   r   r   r   r   r      r   r   c                   @   r   )UUIDConverterz<[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}c                 C   s
   t |S r   )uuidUUIDr   r   r   r   r         
zUUIDConverter.to_pythonc                 C   r   r   r   r   r   r   r   r      r   zUUIDConverter.to_urlNr   r   r   r   r   r      r   r   c                   @      e Zd ZdZdS )SlugConverterz[-a-zA-Z0-9_]+Nr   r   r   r   r   r   r   r   r    #       r    c                   @   r   )PathConverterz.+Nr!   r   r   r   r   r#   '   r"   r#   )r   pathZslugr   r   c                 C   s   |  t |< t  d S r   )REGISTERED_CONVERTERSget_converterscache_clear)	converter	type_namer   r   r   register_converter7   s   
r*   )maxsizec                   C   s   i t tS r   )DEFAULT_CONVERTERSr%   r   r   r   r   r&   <   s   r&   c                 C   s
   t  |  S r   )r&   )Zraw_converterr   r   r   get_converterA   r   r-   )r   	functoolsr   r   r   r   r    r#   r,   r%   r*   r&   r-   r   r   r   r   <module>   s$    


	
