1 diff -r 77533e162654 MoinMoin/packages.py 2 --- a/MoinMoin/packages.py Tue Aug 13 12:17:47 2013 +0200 3 +++ b/MoinMoin/packages.py Fri Nov 01 19:28:42 2013 +0100 4 @@ -96,6 +96,10 @@ 5 """ 6 return (string.lower() in ('yes', 'true', '1')) 7 8 +class IAmRoot(object): 9 + def __getattr__(self, name): 10 + return lambda *args, **kwargs: True 11 + 12 class ScriptEngine: 13 """ 14 The script engine supplies the needed commands to execute the installation 15 @@ -286,7 +290,7 @@ 16 17 self.msg += package.msg 18 19 - def do_addrevision(self, filename, pagename, author=u"Scripting Subsystem", comment=u"", trivial=u"No"): 20 + def do_addrevision(self, filename, pagename, author=u"Scripting Subsystem", comment=u"", trivial=u"No", mtime=None): 21 """ Adds a revision to a page. 22 23 @param filename: name of the file in this package 24 @@ -298,7 +302,7 @@ 25 _ = self.request.getText 26 trivial = str2boolean(trivial) 27 if self.request.user.may.write(pagename): 28 - page = PageEditor(self.request, pagename, do_editor_backup=0) 29 + page = PageEditor(self.request, pagename, do_editor_backup=0, uid_override=author) 30 try: 31 page.saveText(self.extract_file(filename).decode("utf-8"), 0, trivial=trivial, comment=comment) 32 except PageEditor.Unchanged: 33 @@ -555,6 +559,7 @@ 34 # Setup MoinMoin environment 35 from MoinMoin.web.contexts import ScriptContext 36 request = ScriptContext(url=request_url) 37 + request.user.may = IAmRoot() 38 39 package = ZipPackage(request, packagefile) 40 if not package.isPackage():