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