62 lines
1.3 KiB
Python
62 lines
1.3 KiB
Python
from django.contrib.sitemaps import Sitemap
|
|
from django.urls import reverse
|
|
from hub.services.models import (
|
|
Service,
|
|
CloudProvider,
|
|
ConsultingPartner,
|
|
ServiceOffering,
|
|
)
|
|
|
|
|
|
class StaticSitemap(Sitemap):
|
|
changefreq = "monthly"
|
|
priority = 1.0
|
|
|
|
def items(self):
|
|
return ["services:homepage", "services:contact"]
|
|
|
|
def location(self, item):
|
|
return reverse(item)
|
|
|
|
|
|
class ServiceSitemap(Sitemap):
|
|
changefreq = "weekly"
|
|
priority = 1.0
|
|
|
|
def items(self):
|
|
return Service.objects.filter(disable_listing=False).exclude(
|
|
is_coming_soon=True
|
|
)
|
|
|
|
def lastmod(self, obj):
|
|
return obj.updated_at
|
|
|
|
|
|
class OfferingSitemap(Sitemap):
|
|
changefreq = "weekly"
|
|
priority = 0.7
|
|
|
|
def items(self):
|
|
return ServiceOffering.objects.filter(disable_listing=False)
|
|
|
|
def lastmod(self, obj):
|
|
return obj.updated_at
|
|
|
|
|
|
class CloudProviderSitemap(Sitemap):
|
|
changefreq = "weekly"
|
|
priority = 0.7
|
|
|
|
def items(self):
|
|
return CloudProvider.objects.filter(disable_listing=False)
|
|
|
|
|
|
class ConsultingPartnerSitemap(Sitemap):
|
|
changefreq = "weekly"
|
|
priority = 0.7
|
|
|
|
def items(self):
|
|
return ConsultingPartner.objects.filter(disable_listing=False)
|
|
|
|
def lastmod(self, obj):
|
|
return obj.updated_at
|