1.1 --- a/MoinSupport.py Sun Oct 21 18:43:22 2012 +0200
1.2 +++ b/MoinSupport.py Sun Nov 18 20:45:42 2012 +0100
1.3 @@ -103,6 +103,11 @@
1.4
1.5 query = search.QueryParser().parse_query('category:%s' % pagename)
1.6 results = search.searchPages(request, query, "page_name")
1.7 + return filterCategoryPages(results, request)
1.8 +
1.9 +def filterCategoryPages(results, request):
1.10 +
1.11 + "Filter category pages from the given 'results' using the 'request'."
1.12
1.13 cat_pattern = getCategoryPattern(request)
1.14 pages = []
1.15 @@ -143,6 +148,22 @@
1.16
1.17 return pages
1.18
1.19 +def getPagesForSearch(search_pattern, category_names, request):
1.20 +
1.21 + """
1.22 + Return result pages for a search employing the given 'search_pattern' and
1.23 + 'category_names', using the given 'request'.
1.24 + """
1.25 +
1.26 + if category_names:
1.27 + search_pattern += " (%s)" % " or ".join([
1.28 + ("category:%s" % category_name) for category_name in category_names
1.29 + ])
1.30 +
1.31 + query = search.QueryParser().parse_query(search_pattern)
1.32 + results = search.searchPages(request, query, "page_name")
1.33 + return filterCategoryPages(results, request)
1.34 +
1.35 # WikiDict functions.
1.36
1.37 def getWikiDict(pagename, request):
1.38 @@ -999,7 +1020,7 @@
1.39 Return the qualified parameter name using the given 'prefix' and 'argname'.
1.40 """
1.41
1.42 - if prefix is None:
1.43 + if not prefix:
1.44 return argname
1.45 else:
1.46 return "%s-%s" % (prefix, argname)