# HG changeset patch # User Paul Boddie # Date 1353267942 -3600 # Node ID 3dae958645ce3d480bca1297b7c6069d1137061b # Parent 02276ff148642159332610f10a28bdf918439162 Fixed the qualified parameter function to not add the prefix when it is blank. Split the category page search function, exposing the category page filtering function to a new, more general search function. diff -r 02276ff14864 -r 3dae958645ce MoinSupport.py --- a/MoinSupport.py Sun Oct 21 18:43:22 2012 +0200 +++ b/MoinSupport.py Sun Nov 18 20:45:42 2012 +0100 @@ -103,6 +103,11 @@ query = search.QueryParser().parse_query('category:%s' % pagename) results = search.searchPages(request, query, "page_name") + return filterCategoryPages(results, request) + +def filterCategoryPages(results, request): + + "Filter category pages from the given 'results' using the 'request'." cat_pattern = getCategoryPattern(request) pages = [] @@ -143,6 +148,22 @@ return pages +def getPagesForSearch(search_pattern, category_names, request): + + """ + Return result pages for a search employing the given 'search_pattern' and + 'category_names', using the given 'request'. + """ + + if category_names: + search_pattern += " (%s)" % " or ".join([ + ("category:%s" % category_name) for category_name in category_names + ]) + + query = search.QueryParser().parse_query(search_pattern) + results = search.searchPages(request, query, "page_name") + return filterCategoryPages(results, request) + # WikiDict functions. def getWikiDict(pagename, request): @@ -999,7 +1020,7 @@ Return the qualified parameter name using the given 'prefix' and 'argname'. """ - if prefix is None: + if not prefix: return argname else: return "%s-%s" % (prefix, argname)