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