
    g                     V    d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	  G d de      Z
y)    N)settings)BaseCommandCommandError)apps)signalcommandc                   2     e Zd ZdZ fdZed        Z xZS )Commandz7Set parameters of the default django.contrib.sites Sitec                     t         |   |       |j                  ddd d       |j                  ddd d       |j                  dd	d
dd       y )Nz--name	site_namezUse this as site name.)destdefaulthelpz--domainsite_domainzUse this as site domain.z--system-fqdnset_as_system_fqdnF
store_truezmUse the systems FQDN (Fully Qualified Domain Name) as name and domain. Can be used in combination with --name)r   r   actionr   )superadd_argumentsadd_argument)selfparser	__class__s     s/var/www/django_project/virt/lib/python3.12/site-packages/django_extensions/management/commands/set_default_site.pyr   zCommand.add_arguments   sr    f%;) 	 	
 	]D+ 	 	
 	"6A 	 	
    c                    t        j                  d      st        d      ddlm} 	 |j
                  j                  t        j                        }|d   }|d   }|d   }t        ||g      rt        d	      |r%t        j                         }|st        d
      ||}i }|r||j                  k7  r||d<   |r||j                  k7  r||d<   |rp |j
                  j                  t        j                        j                  di | |j
                  j                  t        j                        }t!        d       nt!        d       t!        d       t!        d|j"                  z         t!        d|j                  z         t!        d|j                  z         y # |j$                  $ r t        dt        j                  z        w xY w)Nzdjango.contrib.sitesz%The sites framework is not installed.r   )Site)pkr   r   r   z9The set_as_system_fqdn cannot be used with domain option.zCannot find systems FQDNnamedomainzXUpdated default site. You might need to restart django as sites are cached aggressively.z>Nothing to update (need --name, --domain and/or --system-fqdn)zDefault Site:z	id = %sz
	name = %sz	domain = %sz&Default site with pk=%s does not exist )r   is_installedr   django.contrib.sites.modelsr   objectsgetr   SITE_IDallsocketgetfqdnr   r   filterupdateprintidDoesNotExist)	r   argsoptionsr   siter   r   r   update_kwargss	            r   handlezCommand.handle   s     !78FGG4%	1<<##x'7'7#8D
 ;'D]+F!()=!>F./0"OQ Q!)&'ABB<!DM		)(,f%&DKK/*0h'0##'' $ ))/A2?A||''8+;+;'<pqVW/"+'(-$))+,/DKK/0G    	1G'// 0 1 1	1s   *F ,G)__name__
__module____qualname__r   r   r   r2   __classcell__)r   s   @r   r	   r	      s!    DD
" +1 +1r   r	   )r'   django.confr   django.core.management.baser   r   django.appsr   "django_extensions.management.utilsr   r	   r    r   r   <module>r;      s"       A  <@1k @1r   