1 from django
import template
2 from django
.utils
.safestring
import mark_safe
3 from django
.utils
.translation
import ugettext
as _
5 register
= template
.Library()
12 '/user/subscriptions/',
13 '/publisher/podcast/',
19 ('/login/', _('Login')),
20 ('/register/', _('Register')),
21 ('/online-help', _('Help')),
24 ('/subscriptions/', _('Subscriptions')),
25 ('/history/', _('History')),
26 ('/suggestions/', _('Suggestions')),
29 ('/devices/', _('Overview')),
30 ('/device/', _('Device')),
32 (_('Podcast Directory'), (
33 ('/toplist/', _('Toplist')),
34 ('/search/', _('Search')),
35 ('/toplist/episodes', _('Episodes')),
36 ('/podcast/', _('Podcast')),
37 ('/user/subscriptions/', _('User subscriptions')),
40 ('/account/', _('Account')),
41 ('/account/privacy', _('Privacy')),
42 ('/share/', _('Sharing')),
45 ('/publisher/', _('Home')),
46 ('/publisher/link/', _('Link to gpodder.net')),
47 ('/publisher/podcast/', _('Podcast')),
52 def main_menu(selected
):
55 for label
, items
in MENU_STRUCTURE
:
56 uris
= [uri
for uri
, caption
in items
]
59 links
.append((items
[0][0], label
, uris
))
62 for uri
, caption
, subpages
in links
:
63 if selected
in subpages
or ('/' in subpages
and not found_section
):
64 items
.append('<li class="selected"><a href="%s">%s</a></li>' % \
67 items
.append('<li><a href="%s">%s</a></li>' % (uri
, caption
))
69 s
= '<ul class="menu primary">%s</ul>' % ('\n'.join(items
),)
72 def get_section_items(selected
):
73 for label
, items
in MENU_STRUCTURE
:
74 if selected
in (uri
for uri
, caption
in items
):
77 # If we arrive here, we cannot find the page items, so return a faked one
78 return list(MENU_STRUCTURE
[0][1]) + [
83 def section_menu(selected
, title
=None):
85 for uri
, caption
in get_section_items(selected
):
89 title
= title
[:33] + '...'
91 if uri
in HIDDEN_URIS
:
92 items
.append('<li class="selected">%s</li>' % caption
)
94 items
.append('<li class="selected"><a href="%s">%s</a></li>' % \
96 elif uri
not in HIDDEN_URIS
:
97 items
.append('<li><a href="%s">%s</a></li>' % (uri
, caption
))
99 s
= '<ul class="menu secondary">%s</ul>' % ('\n'.join(items
),)