def _indexingRequest(self, request): """ Return a new request that can be used for index building. This request uses a security policy that lets the current user read any page. Without this policy some pages will not render, which will create broken pagelinks index. @param request: current request """ from MoinMoin.security import Permissions from MoinMoin.user import User class SecurityPolicy(Permissions): def read(self, *args, **kw): return True user = User(request) user.may = SecurityPolicy(user) class FakeRequest(object): """ minimal request object for indexing code """ def __init__(self, request, user): NAMES = """action cfg clock current_lang dicts form getPragma getText href html_formatter isSpiderAgent mode_getpagelinks page parsePageLinks_running redirect redirectedOutput rev rootpage script_root session setContentLanguage setPragma theme uid_generator values write""".split() for name in NAMES: value = getattr(request, name, None) setattr(self, name, value) self.user = user return FakeRequest(request, user)