
    Evgo                         d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ i ad Z G d d	ej                  Z G d
 dej                  Zd Z ej        ee            ej        ee           dS )    N)ImproperlyConfiguredValidationError)models)
pre_deletepre_save)split_domain_port)gettext_lazyc                       fdt           j        D             }t          |          rt          t	          d          d          dS )z\
    Validate that the given value contains no whitespaces to prevent common
    typos.
    c              3       K   | ]}|v V  	d S N ).0svalues     X/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/sites/models.py	<genexpr>z0_simple_domain_name_validator.<locals>.<genexpr>   s'      66qqEz666666    z2The domain name cannot contain any spaces or tabs.invalid)codeN)string
whitespaceanyr   _)r   checkss   ` r   _simple_domain_name_validatorr      s_    
 7666F$5666F
6{{ 
BCC
 
 
 	

 
r   c                   2    e Zd ZdZd Zd ZddZd Zd ZdS )	SiteManagerTc                 n    |t           vr |                     |          }|t           |<   t           |         S )Npk)
SITE_CACHEget)selfsite_idsites      r   _get_site_by_idzSiteManager._get_site_by_id   s5    *$$88w8''D"&Jw'""r   c                 J   |                                 }	 |t          vr|                     |          t          |<   t          |         S # t          j        $ rI t          |          \  }}|t          vr|                     |          t          |<   t          |         cY S w xY w)N)domain__iexact)get_hostr!   r"   SiteDoesNotExistr   )r#   requesthostdomainports        r   _get_site_by_requestz SiteManager._get_site_by_request"   s    !!
	&:%%#'8848#@#@
4 d##  	& 	& 	&,T22LFDZ''%)XXVX%D%D
6"f%%%%	&s   3A
 
AB"!B"Nc                     ddl m} t          |dd          r|j        }|                     |          S |r|                     |          S t          d          )a  
        Return the current Site based on the SITE_ID in the project's settings.
        If SITE_ID isn't defined, return the site with domain matching
        request.get_host(). The ``Site`` object is cached the first time it's
        retrieved from the database.
        r   )settingsSITE_ID zYou're using the Django "sites framework" without having set the SITE_ID setting. Create a site in your database and set the SITE_ID setting or pass a request to Site.objects.get_current() to fix this error.)django.confr2   getattrr3   r&   r0   r   )r#   r,   r2   r$   s       r   get_currentzSiteManager.get_current0   sy     	)(((((8Y++ 	6&G''000 	6,,W555"<
 
 	
r   c                 
    i a dS )z Clear the ``Site`` object cache.N)r!   r#   s    r   clear_cachezSiteManager.clear_cacheF   s     


r   c                 .    |                      |          S )Nr.   )r"   )r#   r.   s     r   get_by_natural_keyzSiteManager.get_by_natural_keyK   s    xxvx&&&r   r   )	__name__
__module____qualname__use_in_migrationsr&   r0   r7   r:   r=   r   r   r   r   r      sj        # # #& & &
 
 
 
,  
' ' ' ' 'r   r   c                       e Zd Z ej         ed          degd          Z ej         ed          d          Z e	            Z
 G d d	          Zd
 Zd ZdS )r*   zdomain named   T)
max_length
validatorsuniquezdisplay name2   )rD   c                   D    e Zd ZdZ ed          Z ed          ZdgZdS )	Site.Metadjango_siter%   sitesr.   N)r>   r?   r@   db_tabler   verbose_nameverbose_name_pluralorderingr   r   r   MetarI   Z   s5         qyyajj:r   rP   c                     | j         S r   r<   r9   s    r   __str__zSite.__str__`   s
    {r   c                     | j         fS r   r<   r9   s    r   natural_keyzSite.natural_keyc   s    ~r   N)r>   r?   r@   r   	CharFieldr   r   r.   namer   objectsrP   rR   rT   r   r   r   r*   r*   O   s        V	-12	  F 6AAn--"===DkmmG             r   r*   c                 &   |d         }|d         }	 t           |j        = n# t          $ r Y nw xY w	 t           t          j                            |                              |j                  j        = dS # t          t          j        f$ r Y dS w xY w)zK
    Clear the cache (if primed) each time a site is saved or deleted.
    instanceusingr   N)	r!   r    KeyErrorr*   rW   rZ   r"   r.   r+   )senderkwargsrY   rZ   s       r   clear_site_cacher^   g   s     j!H7OEx{##   t|))%00444DDKLLLd'(   s     
--AA6 6BB)r\   )r   django.core.exceptionsr   r   	django.dbr   django.db.models.signalsr   r   django.http.requestr   django.utils.translationr	   r   r!   r   Managerr   Modelr*   r^   connectr   r   r   <module>rg      s*    H H H H H H H H       9 9 9 9 9 9 9 9 1 1 1 1 1 1 6 6 6 6 6 6


 

 

3' 3' 3' 3' 3'&. 3' 3' 3'l    6<   0     !$ / / / / 
 #D 1 1 1 1 1 1r   