Create individual sitemaps for idtracker, drafts, nomcom-announcements,
iesg minutes, ipr and liaisons. Omitting some class of data from the sitemap will not prevent it from being indexed, so forgetting something from this list is not critical. - Legacy-Id: 861
This commit is contained in:
parent
68e7735f2b
commit
f784bb02ad
12
ietf/announcements/sitemaps.py
Normal file
12
ietf/announcements/sitemaps.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
from django.contrib.sitemaps import Sitemap
|
||||
from ietf.announcements.models import Announcement
|
||||
|
||||
class NOMCOMAnnouncementsMap(Sitemap):
|
||||
changefreq = "never"
|
||||
def items(self):
|
||||
return Announcement.objects.all().filter(nomcom=True)
|
||||
def location(self, obj):
|
||||
return "/ann/nomcom/%d/" % obj.announcement_id
|
||||
def lastmod(self, obj):
|
||||
# could re-parse the time into a datetime object
|
||||
return obj.announced_date
|
16
ietf/idtracker/sitemaps.py
Normal file
16
ietf/idtracker/sitemaps.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
from django.contrib.sitemaps import Sitemap
|
||||
from ietf.idtracker.models import IDInternal, InternetDraft
|
||||
|
||||
class IDTrackerMap(Sitemap):
|
||||
changefreq = "always"
|
||||
def items(self):
|
||||
return IDInternal.objects.exclude(draft=999999)
|
||||
|
||||
class DraftMap(Sitemap):
|
||||
changefreq = "always"
|
||||
def items(self):
|
||||
return InternetDraft.objects.all()
|
||||
def location(self, obj):
|
||||
return "/drafts/%s/" % obj.filename
|
||||
def lastmod(self, obj):
|
||||
return obj.last_modified_date
|
5
ietf/iesg/sitemaps.py
Normal file
5
ietf/iesg/sitemaps.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
from django.contrib.sitemaps import Sitemap, GenericSitemap
|
||||
from ietf.iesg.models import TelechatMinutes
|
||||
from ietf.iesg.urls import telechat_detail
|
||||
|
||||
IESGMinutesMap = GenericSitemap(telechat_detail, changefreq="never")
|
6
ietf/ipr/sitemaps.py
Normal file
6
ietf/ipr/sitemaps.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from django.contrib.sitemaps import GenericSitemap
|
||||
from ietf.ipr.urls import archive
|
||||
|
||||
# changefreq is "never except when it gets updated or withdrawn"
|
||||
# so skip giving one
|
||||
IPRMap = GenericSitemap(archive)
|
11
ietf/liaisons/sitemaps.py
Normal file
11
ietf/liaisons/sitemaps.py
Normal file
|
@ -0,0 +1,11 @@
|
|||
from django.contrib.sitemaps import Sitemap
|
||||
from ietf.liaisons.models import LiaisonDetail
|
||||
|
||||
class LiaisonMap(Sitemap):
|
||||
changefreq = "never"
|
||||
def items(self):
|
||||
return LiaisonDetail.objects.all()
|
||||
def location(self, obj):
|
||||
return "/liaison/%d/" % obj.detail_id
|
||||
def lastmod(self, obj):
|
||||
return obj.last_modified_date
|
|
@ -116,6 +116,7 @@ INSTALLED_APPS = (
|
|||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.sitemaps',
|
||||
'django.contrib.admin',
|
||||
'django.contrib.humanize',
|
||||
'ietf.agenda',
|
||||
|
|
19
ietf/urls.py
19
ietf/urls.py
|
@ -6,6 +6,12 @@ from ietf.iesg.feeds import IESGMinutes
|
|||
from ietf.idtracker.feeds import DocumentComments, InLastCall
|
||||
from ietf.ipr.feeds import LatestIprDisclosures
|
||||
|
||||
from ietf.idtracker.sitemaps import IDTrackerMap, DraftMap
|
||||
from ietf.liaisons.sitemaps import LiaisonMap
|
||||
from ietf.ipr.sitemaps import IPRMap
|
||||
from ietf.iesg.sitemaps import IESGMinutesMap
|
||||
from ietf.announcements.sitemaps import NOMCOMAnnouncementsMap
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
feeds = {
|
||||
|
@ -15,9 +21,22 @@ feeds = {
|
|||
'ipr': LatestIprDisclosures,
|
||||
}
|
||||
|
||||
sitemaps = {
|
||||
'idtracker': IDTrackerMap,
|
||||
'drafts': DraftMap,
|
||||
'liaison': LiaisonMap,
|
||||
'ipr': IPRMap,
|
||||
'iesg-minutes': IESGMinutesMap,
|
||||
'nomcom-announcements': NOMCOMAnnouncementsMap,
|
||||
}
|
||||
|
||||
urlpatterns = patterns('',
|
||||
(r'^feed/(?P<url>.*)/$', 'django.contrib.syndication.views.feed',
|
||||
{ 'feed_dict': feeds}),
|
||||
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.index',
|
||||
{ 'sitemaps': sitemaps}),
|
||||
(r'^sitemap-(?P<section>.+).xml$', 'django.contrib.sitemaps.views.sitemap',
|
||||
{'sitemaps': sitemaps}),
|
||||
(r'^ann/', include('ietf.announcements.urls')),
|
||||
(r'^idtracker/', include('ietf.idtracker.urls')),
|
||||
#(r'^my/', include('ietf.my.urls')),
|
||||
|
|
Loading…
Reference in a new issue