1from datetime import datetime 2from typing import Any, Dict, List, Optional, Union, Protocol 3 4from django.contrib.sites.models import Site 5from django.contrib.sites.requests import RequestSite 6from django.core.paginator import Paginator 7from django.db.models.base import Model 8from django.db.models.query import QuerySet 9 10PING_URL: str 11 12class SitemapNotFound(Exception): ... 13 14def ping_google(sitemap_url: Optional[str] = ..., ping_url: str = ...) -> None: ... 15 16class _SupportsLen(Protocol): 17 def __len__(self) -> int: ... 18 19class _SupportsCount(Protocol): 20 def count(self) -> int: ... 21 22class _SupportsOrdered(Protocol): 23 ordered: bool = ... 24 25class Sitemap: 26 limit: int = ... 27 protocol: Optional[str] = ... 28 def items(self) -> Union[_SupportsLen, _SupportsCount, _SupportsOrdered]: ... 29 def location(self, obj: Model) -> str: ... 30 @property 31 def paginator(self) -> Paginator: ... 32 def get_urls( 33 self, page: Union[int, str] = ..., site: Optional[Union[Site, RequestSite]] = ..., protocol: Optional[str] = ... 34 ) -> List[Dict[str, Any]]: ... 35 36class GenericSitemap(Sitemap): 37 priority: Optional[float] = ... 38 changefreq: Optional[str] = ... 39 queryset: QuerySet = ... 40 date_field: None = ... 41 def __init__( 42 self, 43 info_dict: Dict[str, Union[datetime, QuerySet, str]], 44 priority: Optional[float] = ..., 45 changefreq: Optional[str] = ..., 46 protocol: Optional[str] = ..., 47 ) -> None: ... 48 def lastmod(self, item: Model) -> Optional[datetime]: ... 49 50default_app_config: str 51