1 # -*- coding: iso-8859-1 -*- 2 """ 3 MoinMoin - SubpageComments common functionality 4 5 @copyright: 2013, 2018 by Paul Boddie <paul@boddie.org.uk> 6 @license: GNU GPL (v2 or later), see COPYING.txt for details. 7 """ 8 9 from MoinSupport import getPagesForSearch 10 import re 11 12 def get_comment_numbers(pagename, request): 13 14 """ 15 Return a list of comment numbers associated with the given 'pagename', using 16 the 'request' provided. 17 """ 18 19 pagenames = [] 20 21 pattern = "^%s" % re.escape("%s/" % pagename) 22 regex = re.compile(pattern) 23 24 for page in getPagesForSearch("title:%s" % pagename, request): 25 26 # Avoid "title:regex:^%s/" problems by filtering a broader result set. 27 28 if not regex.search(page.page_name): 29 continue 30 31 basename, number = page.page_name.rsplit("/", 1) 32 if basename == pagename and number.isdigit(): 33 pagenames.append(int(number)) 34 35 pagenames.sort() 36 return pagenames 37 38 # vim: tabstop=4 expandtab shiftwidth=4