summaryrefslogtreecommitdiff
path: root/sitemaps.py
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2015-04-15 22:02:30 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-04-15 22:02:30 -0400
commit2ea4e6f4d5245dd5e43c90d54635477c6e7dd6a7 (patch)
treed0994cde414fffd3389d036f5a043327aae3af39 /sitemaps.py
parent05430050147c87818c08373e9930756da4d6b5ac (diff)
parente5fc7cd53f6082f2911bc6c8cf8ea4f4ca4addc8 (diff)
Merge tag 'release_2014-11-08.2' into archweb-generic
Todolist pagination and sitemap, news sitemap
Diffstat (limited to 'sitemaps.py')
-rw-r--r--sitemaps.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/sitemaps.py b/sitemaps.py
index eb4e05d9..03ad9254 100644
--- a/sitemaps.py
+++ b/sitemaps.py
@@ -8,6 +8,7 @@ from main.models import Package
from news.models import News
from packages.utils import get_group_info, get_split_packages_info
from releng.models import Release
+from todolists.models import Todolist
class PackagesSitemap(Sitemap):
@@ -98,6 +99,13 @@ class NewsSitemap(Sitemap):
return 'yearly'
+class RecentNewsSitemap(NewsSitemap):
+ def items(self):
+ now = datetime.utcnow().replace(tzinfo=utc)
+ cutoff = now - timedelta(days=30)
+ return super(RecentNewsSitemap, self).items().filter(postdate__gte=cutoff)
+
+
class ReleasesSitemap(Sitemap):
changefreq = "monthly"
@@ -105,7 +113,7 @@ class ReleasesSitemap(Sitemap):
return Release.objects.all().defer('info', 'torrent_data').order_by()
def lastmod(self, obj):
- return obj.created
+ return obj.last_modified
def priority(self, obj):
if obj.available:
@@ -113,6 +121,25 @@ class ReleasesSitemap(Sitemap):
return "0.2"
+class TodolistSitemap(Sitemap):
+ priority = "0.4"
+
+ def __init__(self):
+ now = datetime.utcnow().replace(tzinfo=utc)
+ self.two_weeks_ago = now - timedelta(days=14)
+
+ def items(self):
+ return Todolist.objects.all().defer('raw').order_by()
+
+ def lastmod(self, obj):
+ return obj.last_modified
+
+ def changefreq(self, obj):
+ if obj.last_modified > self.two_weeks_ago:
+ return 'weekly'
+ return 'monthly'
+
+
class BaseSitemap(Sitemap):
DEFAULT_PRIORITY = 0.7