1.1 --- a/ImprovedMoinSearch.py Sat Feb 05 01:21:59 2011 +0100
1.2 +++ b/ImprovedMoinSearch.py Thu Nov 22 23:07:41 2012 +0100
1.3 @@ -2,16 +2,16 @@
1.4 """
1.5 MoinMoin - ImprovedMoinSearch library
1.6
1.7 - @copyright: 2010, 2011 Paul Boddie <paul@boddie.org.uk>
1.8 + @copyright: 2010, 2011, 2012 Paul Boddie <paul@boddie.org.uk>
1.9 @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.10 """
1.11
1.12 from MoinMoin.search import searchPages
1.13 from MoinMoin.Page import Page
1.14 from MoinMoin import wikiutil
1.15 +from MoinSupport import getHeadings
1.16 import re
1.17
1.18 -heading_regexp = re.compile(r"^(?P<level>=+)(?P<heading>.*?)(?P=level)$", re.UNICODE | re.MULTILINE)
1.19 paragraph_regexp = re.compile(r"(?P<paragraph>(?:^[^#=\s].*$\n)+)", re.UNICODE | re.MULTILINE)
1.20
1.21 def range_groups(min_name, max_name):
1.22 @@ -85,13 +85,12 @@
1.23 if start != 0:
1.24 body = body[start:]
1.25
1.26 - for match in heading_regexp.finditer(body):
1.27 - level = len(match.group("level"))
1.28 + for level, title, span in getHeadings(body):
1.29
1.30 if (min_level is None or level >= min_level) and \
1.31 (max_level is None or level <= max_level):
1.32
1.33 - return match.group("heading"), match.span()
1.34 + return title, span
1.35
1.36 return None
1.37