OwlCyberSecurity - MANAGER
Edit File: __init__.cpython-39.pyc
a kH�fe$ � @ s� d dl Z d dlmZ d dlmZ d dlmZ d dlm Z d dl mZ d dlm Z d dlmZmZ d d lmZ d d lmZ dZG dd � d e�Zdedfdd�Zddd�ZG dd� d�ZG dd� de�ZdS )� N)� urlencode)�urlopen)�apps)�settings)� paginator)�ImproperlyConfigured)�NoReverseMatch�reverse)�translation)�RemovedInDjango50Warningz,https://www.google.com/webmasters/tools/pingc @ s e Zd ZdS )�SitemapNotFoundN)�__name__� __module__�__qualname__� r r �b/home/gouroczh/virtualenv/test/3.9/lib/python3.9/site-packages/django/contrib/sitemaps/__init__.pyr s r Tc C s* t | |�}td|i�}td||f � dS )a+ Alert Google that the sitemap for the current site has been updated. If sitemap_url is provided, it should be an absolute path to the sitemap for this site -- e.g., '/sitemap.xml'. If sitemap_url is not provided, this function will attempt to deduce it by using urls.reverse(). Zsitemapz%s?%sN)�_get_sitemap_full_urlr r )�sitemap_urlZping_url�sitemap_uses_httpsZsitemap_full_url�paramsr r r �ping_google s r c C s� t �d�std��| d u rZztd�} W n2 tyX ztd�} W n tyR Y n0 Y n0 | d u rjtd��t �d�}|j�� }|r�dnd}d ||j | f S ) N�django.contrib.siteszAping_google requires django.contrib.sites, which isn't installed.z#django.contrib.sitemaps.views.indexz%django.contrib.sitemaps.views.sitemapzPYou didn't provide a sitemap_url, and the sitemap URL couldn't be auto-detected.� sites.Site�https�httpz %s://%s%s) �django_apps�is_installedr r r r � get_model�objects�get_current�domain)r r �SiteZcurrent_site�schemer r r r s( �� r c @ s� e Zd ZdZdZdZdZdZdZddd�Z dd� Z dd � Zd d� Zd dd �Z edd� �Zdd� Zdd� Zd!dd�Zd"dd�Zd#dd�Zdd� Zdd� ZdS )$�SitemapiP� NFc C sH zt | |�}W n ty$ | Y S 0 t|�rD| jr<|\}}||�S |S �N)�getattr�AttributeError�callable�i18n)�self�name�item�default�attr� lang_coder r r �_getR s zSitemap._getc C s | � � S )z+Languages for which this item is displayed.)� _languages�r) r+ r r r �get_languages_for_item_ s zSitemap.get_languages_for_itemc C s | j d ur| j S dd� tjD �S )Nc S s g | ]\}}|�qS r r )�.0r. �_r r r � <listcomp>f � z&Sitemap._languages.<locals>.<listcomp>)� languagesr Z LANGUAGES�r) r r r r0 c s zSitemap._languagesc s( � j r � fdd�� �� D �}|S � �� S )Nc s$ g | ]}� � |�D ]}||f�qqS r )r2 )r3 r+ r. r8 r r r5 l s �z"Sitemap._items.<locals>.<listcomp>)r( �items)r) r9 r r8 r �_itemsh s �zSitemap._itemsc C sT | j rH|\}}t�|p|�� | �d|�W d � S 1 s>0 Y | �d|�S )N�location)r( r �overrider/ )r) r+ Zforce_lang_code�objr. r r r � _locationt s *zSitemap._locationc C s t �| �� | j�S r$ )r Z Paginatorr: �limitr8 r r r r | s zSitemap.paginatorc C s g S r$ r r8 r r r r9 � s z Sitemap.itemsc C s |� � S r$ )Zget_absolute_urlr1 r r r r; � s zSitemap.locationc C s0 | j d u r"|d u r"tjdtdd� | j p.|p.dS )Nz�The default sitemap protocol will be changed from 'http' to 'https' in Django 5.0. Set Sitemap.protocol to silence this warning.� )�category� stacklevelr )�protocol�warnings�warnr )r) rC r r r �get_protocol� s � zSitemap.get_protocolc C sV |d u rPt �d�r@t �d�}z|j�� }W n |jy> Y n0 |d u rPtd��|jS )Nr r zbTo use sitemaps, either enable the sites framework or pass a Site/RequestSite object in your view.)r r r r r ZDoesNotExistr r )r) �siter! r r r � get_domain� s �zSitemap.get_domain� c C s"