1 from django
import template
2 from django
.utils
.safestring
import mark_safe
3 from django
.utils
.translation
import ugettext
5 register
= template
.Library()
12 '/user/subscriptions/',
13 '/publisher/podcast/',
20 ('/login/', _('Login')),
21 ('/register/', _('Register')),
22 ('/online-help', _('Help')),
25 ('/subscriptions/', _('Subscriptions')),
26 ('/favorites/', _('Favorite Episodes')),
27 ('/tags/', _('My Tags')),
28 ('/devices/', _('Devices')),
29 ('/device/', _('Device')),
30 ('/history/', _('History')),
31 ('/suggestions/', _('Suggestions')),
34 ('/share/', _('Subscriptions')),
36 (_('Podcast Directory'), (
37 ('/directory/', _('Directory')),
38 ('/toplist/', _('Toplist')),
39 ('/search/', _('Search')),
40 ('/toplist/episodes', _('Episodes')),
41 ('/podcast/', _('Podcast')),
42 ('/user/subscriptions/', _('User subscriptions')),
45 ('/account/', _('Account')),
46 ('/account/privacy', _('Privacy')),
49 ('/publisher/', _('Home')),
50 ('/publisher/advertise', _('Advertise')),
51 ('/publisher/link/', _('Link to gpodder.net')),
52 ('/publisher/podcast/', _('Podcast')),
57 def main_menu(selected
):
60 for label
, items
in MENU_STRUCTURE
:
61 uris
= [uri
for uri
, caption
in items
]
64 links
.append((items
[0][0], label
, uris
))
67 for uri
, caption
, subpages
in links
:
68 if selected
in subpages
or ('/' in subpages
and not found_section
):
69 items
.append('<li class="selected"><a href="%s">%s</a></li>' % \
70 (uri
, ugettext(caption
)))
72 items
.append('<li><a href="%s">%s</a></li>' % (uri
, ugettext(caption
)))
74 s
= '<ul class="menu primary">%s</ul>' % ('\n'.join(items
),)
77 def get_section_items(selected
):
78 for label
, items
in MENU_STRUCTURE
:
79 if selected
in (uri
for uri
, caption
in items
):
82 # If we arrive here, we cannot find the page items, so return a faked one
83 return list(MENU_STRUCTURE
[0][1]) + [
88 def section_menu(selected
, title
=None):
90 for uri
, caption
in get_section_items(selected
):
94 title
= title
[:33] + '...'
96 if uri
in HIDDEN_URIS
:
97 items
.append('<li class="selected">%s</li>' % ugettext(caption
))
99 items
.append('<li class="selected"><a href="%s">%s</a></li>' % \
100 (uri
, ugettext(caption
)))
101 elif uri
not in HIDDEN_URIS
:
102 items
.append('<li><a href="%s">%s</a></li>' % (uri
, ugettext(caption
)))
104 s
= '<ul class="menu secondary">%s</ul>' % ('\n'.join(items
),)