djangocms_blog/djangocms_blog/sitemaps/__init__.py

36 lines
1 KiB
Python
Raw Normal View History

2014-01-04 17:07:09 +01:00
# -*- coding: utf-8 -*-
2015-09-13 00:46:05 +02:00
from __future__ import absolute_import, print_function, unicode_literals
from cms.utils import get_language_list
2014-04-19 19:17:38 +02:00
from django.contrib.sitemaps import Sitemap
from parler.utils.context import smart_override
2014-04-19 19:17:38 +02:00
from ..models import Post
from ..settings import get_setting
2014-04-19 19:17:38 +02:00
class BlogSitemap(Sitemap):
def priority(self, obj):
if obj and obj.app_config:
return obj.app_config.sitemap_priority
return get_setting('SITEMAP_PRIORITY_DEFAULT')
def changefreq(self, obj):
if obj and obj.app_config:
return obj.app_config.sitemap_changefreq
return get_setting('SITEMAP_CHANGEFREQ_DEFAULT')
def location(self, obj):
with smart_override(obj.get_current_language()):
return obj.get_absolute_url(obj.get_current_language())
2014-04-19 19:17:38 +02:00
def items(self):
items = []
for lang in get_language_list():
items.extend(Post.objects.translated(lang).language(lang).published())
return items
2014-04-19 19:17:38 +02:00
def lastmod(self, obj):
return obj.date_modified