# HG changeset patch # User Paul Boddie # Date 1383746597 -3600 # Node ID 70da7818ef0ea10f98d0248bf6b051e1f578affe # Parent 0cccc791aac263b80ce46ed9990c5321f34b6bdf Fixed imports and used an existing function for searching. diff -r 0cccc791aac2 -r 70da7818ef0e ItemSupport.py --- a/ItemSupport.py Wed Nov 06 14:40:30 2013 +0100 +++ b/ItemSupport.py Wed Nov 06 15:03:17 2013 +0100 @@ -6,9 +6,10 @@ @license: GNU GPL (v2 or later), see COPYING.txt for details. """ -from MoinMoin.Page import Page, RootPage +from MoinMoin.Page import Page from MoinMoin.PageEditor import PageEditor from MoinMoin.util import lock +from MoinSupport import getMetadata, getPagesForSearch import re import os @@ -248,20 +249,18 @@ "Return the item keys." - is_subpage = re.compile(u"^%s/" % re.escape(self.page.page_name), re.UNICODE).match - # Collect the strict subpages of the parent page. leafnames = [] parentname = self.page.page_name - for pagename in RootPage(self.page.request).getPageList(filter=is_subpage): - parts = pagename[len(parentname)+1:].split("/") + for page in getPagesForSearch("title:regex:^%s/" % parentname, self.page.request): + basename, leafname = page.page_name.rsplit("/", 1) # Only collect numbered pages immediately below the parent. - if len(parts) == 1 and parts[0].isdigit(): - leafnames.append(int(parts[0])) + if basename == parentname and leafname.isdigit(): + leafnames.append(int(leafname)) return leafnames