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
|
|
|
|
|
2015-10-31 01:19:47 +01:00
|
|
|
from cms.utils import get_language_list
|
2014-04-19 19:17:38 +02:00
|
|
|
from django.contrib.sitemaps import Sitemap
|
2015-10-31 01:19:47 +01:00
|
|
|
from parler.utils.context import smart_override
|
2014-04-19 19:17:38 +02:00
|
|
|
|
|
|
|
from ..models import Post
|
2015-10-31 01:19:47 +01:00
|
|
|
from ..settings import get_setting
|
2014-04-19 19:17:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
class BlogSitemap(Sitemap):
|
2015-10-31 01:19:47 +01:00
|
|
|
|
|
|
|
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):
|
2015-10-31 01:19:47 +01:00
|
|
|
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
|