Description

When trying to use PackagePage after applying the patch from MoinMoinBugs/PackagePagesFailsBecauseAllowedActionsMissing I found the following problems:

If I want to install a new created package without any changes I get a crash while the message is right

You did not change the page content, not saved!
 
message = u'You did not change the page content, not saved!'

/usr/lib/python2.3/site-packages/MoinMoin/request.py in run (self=<MoinMoin.request.RequestCGI object>)

 
1006 from MoinMoin.wikiaction import getHandler 
1007 handler = getHandler(self, action) 
1008 handler(self.page.page_name, self) 
1009 
1010 # 5. Or redirect to another page 
handler = <function execute>
 
self = <MoinMoin.request.RequestCGI object>
 
self.page = <MoinMoin.Page.Page instance>
 
self.page.page_name = u'NeueSeite'
 

/usr/lib/python2.3/site-packages/MoinMoin/action/AttachFile.py in execute (pagename=u'NeueSeite', request=<MoinMoin.request.RequestCGI object>)

 
450 elif request.form['do'][0] == 'install': 
451 if request.user.name in request.cfg.superuser: 
452 install_package(pagename, request) 
453 else: 
454 msg = _('You are not allowed to install files.') 
global install_package = <function install_package>
 
pagename = u'NeueSeite'
 
request = <MoinMoin.request.RequestCGI object>
 

/usr/lib/python2.3/site-packages/MoinMoin/action/AttachFile.py in install_package (pagename=u'NeueSeite', request=<MoinMoin.request.RequestCGI object>)

 
631 
632 if package.isPackage(): 
633 if package.installPackage(): 
634 msg=_("Attachment '%(filename)s' installed.") % {'filename': wikiutil.escape(target)} 
635 else: 
package = <MoinMoin.packages.ZipPackage instance>
 
package.installPackage = <bound method ZipPackage.installPackage of <MoinMoin.packages.ZipPackage instance>>
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in installPackage (self=<MoinMoin.packages.ZipPackage instance>)

 
336 commands = self.getScript().splitlines() 
337 
338 return self.runScript(commands) 
339 
340 def getScript(self): 
self = <MoinMoin.packages.ZipPackage instance>
 
self.runScript = <bound method ZipPackage.runScript of <MoinMoin.packages.ZipPackage instance>>
 
commands = [u'MoinMoinPackage|1', u'AddRevision|1|NeueSeite|ReimarBauer|Created by the PackagePages action.', u'Print|Thank you for using PackagePages!']
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in runScript (self=<MoinMoin.packages.ZipPackage instance>, commands=[u'MoinMoinPackage|1', u'AddRevision|1|NeueSeite|ReimarBauer|Created by the PackagePages action.', u'Print|Thank you for using PackagePages!'])

 
305 
306 try: 
307 fn(*elements[1:]) 
308 except ScriptExit: 
309 break 
fn = <bound method ZipPackage.do_addrevision of <MoinMoin.packages.ZipPackage instance>>
 
elements = [u'AddRevision', u'1', u'NeueSeite', u'ReimarBauer', u'Created by the PackagePages action.']
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in do_addrevision (self=<MoinMoin.packages.ZipPackage instance>, filename=u'1', pagename=u'NeueSeite', author=u'ReimarBauer', comment=u'Created by the PackagePages action.', trivial=False)

 
210 
211 page = PageEditor(self.request, pagename, do_editor_backup=0, uid_override=author) 
212 page.saveText(self.extract_file(filename), 0, trivial=trivial, comment=comment) 
213 
214 page.clean_acl_cache() 
page = <MoinMoin.PageEditor.PageEditor instance>
 
page.saveText = <bound method PageEditor.saveText of <MoinMoin.PageEditor.PageEditor instance>>
 
self = <MoinMoin.packages.ZipPackage instance>
 
self.extract_file = <bound method ZipPackage.extract_file of <MoinMoin.packages.ZipPackage instance>>
 
filename = u'1'
 
trivial = False
 
comment = u'Created by the PackagePages action.'
 

/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in saveText (self=<MoinMoin.PageEditor.PageEditor instance>, newtext=u'Describe NeueSeite here.\n\naha mal sehen\n', rev=0, **kw={'comment': u'Created by the PackagePages action.', 'trivial': False})

 
925 elif newtext == self.get_raw_body(): 
926 msg = _('You did not change the page content, not saved!') 
927 raise self.Unchanged, msg 
928 else: 
929 from wikiacl import parseACL 
self = <MoinMoin.PageEditor.PageEditor instance>
 
self.Unchanged = <class MoinMoin.PageEditor.Unchanged>
 
msg = u'You did not change the page content, not saved!'

There is another raise condition if you have some special characters on the page you have packaged. By checking out you got this error

/usr/lib/python2.3/site-packages/MoinMoin/request.py in run (self=<MoinMoin.request.RequestCGI object>)

 
1006 from MoinMoin.wikiaction import getHandler 
1007 handler = getHandler(self, action) 
1008 handler(self.page.page_name, self) 
1009 
1010 # 5. Or redirect to another page 
handler = <function execute>
 
self = <MoinMoin.request.RequestCGI object>
 
self.page = <MoinMoin.Page.Page instance>
 
self.page.page_name = u'StartSeite'
 

/usr/lib/python2.3/site-packages/MoinMoin/action/AttachFile.py in execute (pagename=u'StartSeite', request=<MoinMoin.request.RequestCGI object>)

 
450 elif request.form['do'][0] == 'install': 
451 if request.user.name in request.cfg.superuser: 
452 install_package(pagename, request) 
453 else: 
454 msg = _('You are not allowed to install files.') 
global install_package = <function install_package>
 
pagename = u'StartSeite'
 
request = <MoinMoin.request.RequestCGI object>
 

/usr/lib/python2.3/site-packages/MoinMoin/action/AttachFile.py in install_package (pagename=u'StartSeite', request=<MoinMoin.request.RequestCGI object>)

 
631 
632 if package.isPackage(): 
633 if package.installPackage(): 
634 msg=_("Attachment '%(filename)s' installed.") % {'filename': wikiutil.escape(target)} 
635 else: 
package = <MoinMoin.packages.ZipPackage instance>
 
package.installPackage = <bound method ZipPackage.installPackage of <MoinMoin.packages.ZipPackage instance>>
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in installPackage (self=<MoinMoin.packages.ZipPackage instance>)

 
336 commands = self.getScript().splitlines() 
337 
338 return self.runScript(commands) 
339 
340 def getScript(self): 
self = <MoinMoin.packages.ZipPackage instance>
 
self.runScript = <bound method ZipPackage.runScript of <MoinMoin.packages.ZipPackage instance>>
 
commands = [u'MoinMoinPackage|1', u'AddRevision|1|StartSeite|ReimarBauer|Created by the PackagePages action.', u'Print|Thank you for using PackagePages!']
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in runScript (self=<MoinMoin.packages.ZipPackage instance>, commands=[u'MoinMoinPackage|1', u'AddRevision|1|StartSeite|ReimarBauer|Created by the PackagePages action.', u'Print|Thank you for using PackagePages!'])

 
305 
306 try: 
307 fn(*elements[1:]) 
308 except ScriptExit: 
309 break 
fn = <bound method ZipPackage.do_addrevision of <MoinMoin.packages.ZipPackage instance>>
 
elements = [u'AddRevision', u'1', u'StartSeite', u'ReimarBauer', u'Created by the PackagePages action.']
 

/usr/lib/python2.3/site-packages/MoinMoin/packages.py in do_addrevision (self=<MoinMoin.packages.ZipPackage instance>, filename=u'1', pagename=u'StartSeite', author=u'ReimarBauer', comment=u'Created by the PackagePages action.', trivial=False)

 
210 
211 page = PageEditor(self.request, pagename, do_editor_backup=0, uid_override=author) 
212 page.saveText(self.extract_file(filename), 0, trivial=trivial, comment=comment) 
213 
214 page.clean_acl_cache() 
page = <MoinMoin.PageEditor.PageEditor instance>
 
page.saveText = <bound method PageEditor.saveText of <MoinMoin.PageEditor.PageEditor instance>>
 
self = <MoinMoin.packages.ZipPackage instance>
 
self.extract_file = <bound method ZipPackage.extract_file of <MoinMoin.packages.ZipPackage instance>>
 
filename = u'1'
 
trivial = False
 
comment = u'Created by the PackagePages action.'
 

/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in saveText (self=<MoinMoin.PageEditor.PageEditor instance>, newtext='## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n', rev=0, **kw={'comment': u'Created by the PackagePages action.', 'trivial': False})

 
879 if not (wikiutil.isTemplatePage(self.request, self.page_name) or 
880 wikiutil.isFormPage(self.request, self.page_name)): 
881 newtext = self._expand_variables(newtext) 
882 
883 msg = "" 
newtext = '## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n'
 
self = <MoinMoin.PageEditor.PageEditor instance>
 
self._expand_variables = <bound method PageEditor._expand_variables of <MoinMoin.PageEditor.PageEditor instance>>
 

/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in _expand_variables (self=<MoinMoin.PageEditor.PageEditor instance>, text='## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n')

 
649 # TODO: Use a more stream-lined re.sub algorithm 
650 for name in variables: 
651 text = text.replace('@%s@' % name, variables[name]) 
652 return text 
653 
text = '## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n'
 
text.replace = <built-in method replace of str object>
 
name = 'ME'
 
variables = {'DATE': '[[Date(2005-11-01T14:36:01Z)]]', 'MAILTO': u'[[MailTo(ree@localhost)]]', 'ME': u'ReimarBauer', 'PAGE': u'StartSeite', 'SIG': u'-- ReimarBauer [[DateTime(2005-11-01T14:36:01Z)]]', 'TIME': '[[DateTime(2005-11-01T14:36:01Z)]]', 'USER': u'-- ReimarBauer', 'USERNAME': u'ReimarBauer'}
 

UnicodeDecodeError

 

'ascii' codec can't decode byte 0xc3 in position 330: ordinal not in range(128)

 
args = ('ascii', '## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n', 330, 331, 'ordinal not in range(128)')
 
encoding = 'ascii'
 
end = 331
 
object = '## Please edit system and help pages ONLY in the...ebFaq weiter.\n\nDieses Wiki basiert auf MoinMoin.\n'
 
reason = 'ordinal not in range(128)'
 
start = 330

Details

MoinMoin Version

1.5.0-beta1

OS and Version

linux

Python Version

2.3

Server Setup

apache2

Server Details

cgi-bin

Workaround

Discussion

Plan


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/PageEditorAndInstallPackage (last edited 2007-10-29 19:06:20 by localhost)