o
    hF                     @   s    d dl mZ G dd deZdS )    )Sitemapc                   @   s>   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd ZdS )r   Nc                 C   s
   || _ d S N)request)selfr    r   j/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/contrib/sitemaps/sitemap_generator.py__init__
   s   
zSitemap.__init__c                 C   s   | | jS r   )get_full_urlr   r   objr   r   r   location   s   zSitemap.locationc                 C   s   |j p|jS r   )last_published_atlatest_revision_created_atr
   r   r   r   lastmod   s   zSitemap.lastmodc                 C   s8   ddl m} || j}|d u r|jdjddS |S )Nr   )Site	root_pageT)is_default_site)wagtail.modelsr   find_for_requestr   objectsselect_relatedget)r   r   siter   r   r   get_wagtail_site   s
   zSitemap.get_wagtail_sitec                 C   s(   |   jjdd  d  S )NT)	inclusivepath)r   r   get_descendantslivepublicorder_bydefer_streamfieldsspecific)r   r   r   r   items   s   zSitemap.itemsc           	      C   sl   g }t  }| j|j D ]}|| j}|D ]}|| ||	d qq|r4d |vr4t
|| _|S )Nr   )set	paginatorpageobject_listiteratorget_sitemap_urlsr   appendaddr   maxlatest_lastmod)	r   r%   protocoldomainurls	last_modsitemurl_info_itemsurl_infor   r   r   _urls(   s   

zSitemap._urlsr   )	__name__
__module____qualname__r   r   r   r   r"   r4   r   r   r   r   r   	   s    
r   N)django.contrib.sitemapsr   DjangoSitemapr   r   r   r   <module>   s    