Since this mailing list is not owned by the user the wiki runs as, the script had to be executed as root. As soon as the subscribers were collected, the effective user id was changed with a simple call to
os.seteuid. This also meant I could not create a macro and have the page update from within the wiki itself.
The solution I found was to create a user which was privileged to edit a page with ACLs. The MoinMoin wiki has a page which shows you how to edit pages programmatically, but for some reason I also had to set the
valid property of the user to
1 (MoinMoin seems to use
valid = 0 by default, not
It felt a bit like a hack, but it worked. As a nice bonus, the
PageEditor.saveText method throws a
PageEditor.Unchanged exception if the page is not changed, so only a new revision is filed when the page contents actually do change.