
    8Cf                         d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZ  e j(                  d      Z G d deeeee	ee	      Zy)    N)AnyOptional)	SanicMeta)SanicException)ExceptionMixin)ListenerMixin)MiddlewareMixin)
RouteMixin)SignalMixin)StaticMixinz^[a-zA-Z_][a-zA-Z0-9_\-]*$c            	       j     e Zd ZdZ	 ddee   dededdfdZdefdZdefd	Z	ded
eddf fdZ
 xZS )	BaseSanic)nameNr   argskwargsreturnc                     | j                   j                  }|t        | d      t        j	                  |      st        | d| d      || _        t        j                  D ]  } |j                  | g|i |  y )NzT instance cannot be unnamed. Please use Sanic(name='your_application_name') instead.z instance named 'zr' uses an invalid format. Names must begin with a character and may only contain alphanumeric characters, _, or -.)		__class____name__r   
VALID_NAMEmatchr   r   	__bases____init__)selfr   r   r   
class_namebases         O/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/sanic/base/root.pyr   zBaseSanic.__init__   s     ^^,,
< , J J 
 % ,/v 6< <  	'' 	1DDMM$000	1    c                 P    d| j                   j                   d| j                   dS )N< >r   r   r   r   s    r   __str__zBaseSanic.__str__4   s&    4>>**+1TYYKq99r   c                 N    | j                   j                   d| j                   dS )Nz(name="z")r#   r$   s    r   __repr__zBaseSanic.__repr__7   s$    ..))*'$))B??r   valuec           
          	 t         |   ||       y # t        $ rC}t        d| j                  j                   d| j                  j                   d| d      |d }~ww xY w)NzSetting variables on z2 instances is not allowed. You should change your z instance to use instance.ctx.z	 instead.)super__setattr__AttributeErrorr   r   )r   r   r(   er   s       r   r+   zBaseSanic.__setattr__:   sr    	Ge, 	 '(?(?'@ A7>>**+ ,  $vY0
 	s    	A >AA )N)r   
__module____qualname__	__slots__r   strr   r   r%   r'   r+   __classcell__)r   s   @r   r   r      sq     I %)1SM1141@C1	1.: :@# @	 	C 	D 	 	r   r   )	metaclass)retypingr   r   sanic.base.metar   sanic.exceptionsr   sanic.mixins.exceptionsr   sanic.mixins.listenersr   sanic.mixins.middlewarer	   sanic.mixins.routesr
   sanic.mixins.signalsr   sanic.mixins.staticr   compiler   r    r   r   <module>r@      sU    	   % + 2 0 3 * , + RZZ56
11r   