-
Notifications
You must be signed in to change notification settings - Fork 15
/
wagtail_hooks.py
41 lines (32 loc) · 1.06 KB
/
wagtail_hooks.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from robots.models import Rule
class RuleAdmin(ModelAdmin):
model = Rule
menu_label = 'robots.txt'
menu_icon = "redirect"
add_to_settings_menu = True
list_display = (
'robot', 'affected_sites', 'allowed_urls',
'disallowed_urls', 'crawl_delay')
def affected_sites(self, obj):
sites = obj.sites.all()
if sites:
return ",".join([s.site_name for s in sites])
else:
return "All sites."
affected_sites.short_description = 'sites'
def allowed_urls(self, obj):
urls = obj.allowed.all()
if urls:
return " ".join([u.pattern for u in urls])
else:
return None
allowed_urls.short_description = 'allowed'
def disallowed_urls(self, obj):
urls = obj.disallowed.all()
if urls:
return " ".join([u.pattern for u in urls])
else:
return None
allowed_urls.short_description = 'disallowed'
modeladmin_register(RuleAdmin)