forked from Cromlech/dolmen.breadcrumbs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrenderer.py
41 lines (31 loc) · 1.27 KB
/
renderer.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
# -*- coding: utf-8 -*-
from os import path
from cromlech.browser import IRenderable
from cromlech.i18n import ILanguage
from dolmen.breadcrumbs import breadcrumbs
from dolmen.template import TALTemplate
from zope.interface import implementer
TEMPLATES_DIR = path.join(path.dirname(__file__), 'templates')
template = TALTemplate(path.join(TEMPLATES_DIR, 'breadcrumbs.pt'))
def render_breadcrumbs(renderer, crumbs, viewName='', separator=''):
namespace = dict(
breadcrumbs=crumbs,
viewName=viewName,
target_language='en',
separator=separator)
return template.render(renderer, **namespace)
# target_language=ILanguage(renderer.request, None),
#WHAT SHOULD I HAVE DONE HERE?
@implementer(IRenderable)
class BreadcrumbsRenderer(object):
resolver = None
def __init__(self, context, request, viewName='', separator="→"):
self.context = context
self.request = request
self.viewName = viewName
self.separator=separator
def update(self):
self.breadcrumbs = list(
breadcrumbs(self.context, self.request, self.viewName, self.resolver))
def render(self):
return render_breadcrumbs(self, self.breadcrumbs, viewName=self.viewName, separator=self.separator)