1.1 --- a/ItemSupport.py Wed Nov 06 14:40:30 2013 +0100
1.2 +++ b/ItemSupport.py Wed Nov 06 15:03:17 2013 +0100
1.3 @@ -6,9 +6,10 @@
1.4 @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.5 """
1.6
1.7 -from MoinMoin.Page import Page, RootPage
1.8 +from MoinMoin.Page import Page
1.9 from MoinMoin.PageEditor import PageEditor
1.10 from MoinMoin.util import lock
1.11 +from MoinSupport import getMetadata, getPagesForSearch
1.12 import re
1.13 import os
1.14
1.15 @@ -248,20 +249,18 @@
1.16
1.17 "Return the item keys."
1.18
1.19 - is_subpage = re.compile(u"^%s/" % re.escape(self.page.page_name), re.UNICODE).match
1.20 -
1.21 # Collect the strict subpages of the parent page.
1.22
1.23 leafnames = []
1.24 parentname = self.page.page_name
1.25
1.26 - for pagename in RootPage(self.page.request).getPageList(filter=is_subpage):
1.27 - parts = pagename[len(parentname)+1:].split("/")
1.28 + for page in getPagesForSearch("title:regex:^%s/" % parentname, self.page.request):
1.29 + basename, leafname = page.page_name.rsplit("/", 1)
1.30
1.31 # Only collect numbered pages immediately below the parent.
1.32
1.33 - if len(parts) == 1 and parts[0].isdigit():
1.34 - leafnames.append(int(parts[0]))
1.35 + if basename == parentname and leafname.isdigit():
1.36 + leafnames.append(int(leafname))
1.37
1.38 return leafnames
1.39