[Checkins]
SVN: zope.introspectorui/trunk/src/zope/introspectorui/util.py
Let the breadcrumbs be computed based on location infos.
Uli Fouquet
uli at gnufix.de
Sun Aug 10 21:37:12 EDT 2008
Log message for revision 89610:
Let the breadcrumbs be computed based on location infos.
Changed:
U zope.introspectorui/trunk/src/zope/introspectorui/util.py
-=-
Modified: zope.introspectorui/trunk/src/zope/introspectorui/util.py
===================================================================
--- zope.introspectorui/trunk/src/zope/introspectorui/util.py 2008-08-11 01:28:32 UTC (rev 89609)
+++ zope.introspectorui/trunk/src/zope/introspectorui/util.py 2008-08-11 01:37:11 UTC (rev 89610)
@@ -26,11 +26,15 @@
def getBreadcrumbs(self):
code_obj = self.context.context.context
- items = code_obj.getParents()
- result = []
- for item in items:
- name = getattr(item, 'name', item.dotted_name.split('.')[-1])
- url = self.context.url(item)
- result.append(
- '<a href="%s">%s</a>' % (url, name))
+ dotted_name = code_obj.dotted_name
+ parts = []
+ while code_obj.__parent__:
+ parts.append(code_obj)
+ curr_dotted_name = '.'.join([x.__name__ for x in parts])
+ code_obj = code_obj.__parent__
+ if len(curr_dotted_name) >= len(dotted_name):
+ break
+ parts.reverse()
+ result = ['<a href="%s">%s</a>' % (self.context.url(x), x.__name__)
+ for x in parts]
return '.'.join(result)
More information about the Checkins
mailing list