1 diff -r 73f9cf05b8d9 MoinMoin/packages.py 2 --- a/MoinMoin/packages.py Tue Jul 16 18:05:08 2013 +0200 3 +++ b/MoinMoin/packages.py Wed Jul 17 15:44:11 2013 +0200 4 @@ -95,6 +95,10 @@ 5 truth literals. 6 """ 7 return (string.lower() in ('yes', 'true', '1')) 8 + 9 +class IAmRoot(object): 10 + def __getattr__(self, name): 11 + return lambda *args, **kwargs: True 12 13 class ScriptEngine: 14 """ 15 @@ -298,7 +302,7 @@ 16 _ = self.request.getText 17 trivial = str2boolean(trivial) 18 if self.request.user.may.write(pagename): 19 - page = PageEditor(self.request, pagename, do_editor_backup=0) 20 + page = PageEditor(self.request, pagename, do_editor_backup=0, uid_override=author) 21 try: 22 page.saveText(self.extract_file(filename).decode("utf-8"), 0, trivial=trivial, comment=comment) 23 except PageEditor.Unchanged: 24 @@ -555,6 +559,7 @@ 25 # Setup MoinMoin environment 26 from MoinMoin.web.contexts import ScriptContext 27 request = ScriptContext(url=request_url) 28 + request.user.may = IAmRoot() 29 30 package = ZipPackage(request, packagefile) 31 if not package.isPackage():