Changeset 825 for autowikifyplugin
- Timestamp:
- 06/06/06 23:59:06 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
autowikifyplugin/trunk/tracautowikify/autowikify.py
r740 r825 3 3 from trac.util import escape, Markup, sorted 4 4 from trac.wiki.api import WikiSystem, IWikiSyntaxProvider, IWikiChangeListener 5 from trac.config import * 5 6 try: 6 7 set = set … … 13 14 are not in CamelCase. """ 14 15 implements(IWikiSyntaxProvider, IWikiChangeListener) 16 17 minimum_length = IntOption('autowikify', 'minimum_length', 3, 18 """Minimum page length to perform auto-wikification on.""") 19 explicitly_wikify = ListOption('autowikify', 'explicitly_wikify', doc= 20 """List of Wiki pages to always Wikify, regardless of size.""") 21 exclude = ListOption('autowikify', 'exclude', doc= 22 """List of Wiki pages to exclude from auto-wikification.""") 15 23 16 24 pages = set() … … 51 59 52 60 def _update(self): 53 minimum_length = int(self.env.config.get('autowikify', 'minimum_length') or 3)54 61 explicitly_wikified = set([p.strip() for p in (self.env.config.get('autowikify', 'explicitly_wikify') or '').split(',') if p.strip()]) 55 pages = [p for p in self.pages if len(p) >= minimum_length] 56 pages = [p for p in sorted(explicitly_wikified.union(pages), key=lambda p: -len(p))] 62 pages = set([p for p in self.pages if len(p) >= self.minimum_length]) 63 pages.update(self.explicitly_wikify) 64 pages.difference_update(self.exclude) 57 65 pattern = r'\b(?P<autowiki>' + '|'.join(pages) + r')\b' 58 66 self.pages_re = pattern
