Changeset 4109

Show
Ignore:
Timestamp:
08/02/08 08:32:39 (4 months ago)
Author:
tsooboi
Message:

changes to allow configuration via [trac] settings

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • navcontrolplugin/0.11/navcontrol/filter.py

    r4108 r4109  
    3030                              doc='Labels to assign to navigation items. \ 
    3131                                   They should be specified as navitem:label e.g \ 
    32                                    !wiki:\'My Wiki\',!browser:\'code\'') 
     32                                   !wiki:My Wiki,!browser:Code') 
    3333 
    3434    implements(IRequestFilter) 
     
    6767            nav_to   = 'mainnav' 
    6868        items |= self._get_items(req, nav_from, prefix_list) 
    69         #for item in items: 
    7069        nav_from_items = req.chrome['nav'][nav_from] 
    7170        nav_to_items   = req.chrome['nav'][nav_to] 
     
    7675                    nav_to_items.append(navitem) 
    7776 
    78     # general helper method 
    79     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           pass 
    88         return items 
    89  
    9077    def _relabel_items(self, req): 
    9178      nvp_dict = {} 
    9279      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) 
    9383      if len(items) > 0: 
    9484        for nvp in items: 
     
    9888          except: 
    9989            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 
    107107 
    108108