Changeset 4109
- Timestamp:
- 08/02/08 08:32:39 (4 months ago)
- Files:
-
- navcontrolplugin/0.11/navcontrol/filter.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
navcontrolplugin/0.11/navcontrol/filter.py
r4108 r4109 30 30 doc='Labels to assign to navigation items. \ 31 31 They should be specified as navitem:label e.g \ 32 !wiki: \'My Wiki\',!browser:\'code\'')32 !wiki:My Wiki,!browser:Code') 33 33 34 34 implements(IRequestFilter) … … 67 67 nav_to = 'mainnav' 68 68 items |= self._get_items(req, nav_from, prefix_list) 69 #for item in items:70 69 nav_from_items = req.chrome['nav'][nav_from] 71 70 nav_to_items = req.chrome['nav'][nav_to] … … 76 75 nav_to_items.append(navitem) 77 76 78 # general helper method79 def _get_items(self, req, name, prefix_list):80 items = set()81 for item in self.config.get('trac', name, default='').split(','):82 item = item.strip()83 try:84 prefix_list.index(item[0])85 items.add(item[1:])86 except:87 pass88 return items89 90 77 def _relabel_items(self, req): 91 78 nvp_dict = {} 92 79 items = set(getattr(self, 'labels')) 80 prefix_list=['%', '*'] 81 items |= self._get_items(req, 'mainnav', prefix_list) \ 82 | self._get_items(req, 'metanav', prefix_list) 93 83 if len(items) > 0: 94 84 for nvp in items: … … 98 88 except: 99 89 pass 100 for item in req.chrome['nav']['mainnav'] + req.chrome['nav']['metanav']: 101 name = item['name'] 102 if nvp_dict.has_key(name): 103 re_href=re.compile('<a\s+?href="(.*?)"[\s.]*', re.I | re.S | re.M) 104 href_val=re_href.findall(item['label'].__str__()) 105 if len(href_val) > 0: 106 item['label'] = html.A(nvp_dict[name], href=href_val[0]) 90 if len(nvp_dict) > 0: 91 for item in req.chrome['nav']['mainnav'] + req.chrome['nav']['metanav']: 92 name = item['name'] 93 if nvp_dict.has_key(name): 94 re_href=re.compile('<a.+?href="(.*?)"[\s.]*', re.I | re.S | re.M) 95 href_val=re_href.findall(item['label'].__str__()) 96 if len(href_val) > 0: 97 item['label'] = html.A(nvp_dict[name], href=href_val[0]) 98 99 # general helper method 100 def _get_items(self, req, name, prefix_list): 101 items = set() 102 for item in self.config.getlist('trac', name): 103 item = item.strip() 104 if item[0] in prefix_list: 105 items.add(item[1:]) 106 return items 107 107 108 108
