Simply clicking on "Recent Changes" produces this python error.
OverflowErrorlong int too large to convert to int Please include this information in your bug reports!:
Python Python 2.2.3: /usr/bin/python
Linux cvs01.carfax.cfx 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT 2004 i686
MoinMoin Release 1.3.1 [Revision patch-434]
Wed Dec 15 15:20:48 2004
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/usr/lib/python2.2/site-packages/MoinMoin/request.py in run(self=<MoinMoin.request.RequestCGI instance>)
822 else:
823 try:
824 cgitb.Hook(file=self).handle(saved_exc)
825 # was: cgitb.handler()
826 except:
cgitb = <module 'MoinMoin.support.cgitb' from '/usr/lib/python2.2/site-packages/MoinMoin/support/cgitb.pyc'>, cgitb.Hook = <class MoinMoin.support.cgitb.Hook>, file undefined, self = <MoinMoin.request.RequestCGI instance>, ).handle undefined, saved_exc = (<class exceptions.OverflowError>, <exceptions.OverflowError instance>, <traceback object>)
/usr/lib/python2.2/site-packages/MoinMoin/Page.py in send_page(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, msg='', **keywords={'count_hit': 1})
912 else:
913 # parse the text and send the page content
914 self.send_page_content(request, Parser, body, format_args=pi_formatargs, do_cache=do_cache)
915
916 # check for pending footnotes
self = <MoinMoin.Page.Page instance>, self.send_page_content = <bound method Page.send_page_content of <MoinMoin.Page.Page instance>>, request = <MoinMoin.request.RequestCGI instance>, Parser = <class MoinMoin.parser.wiki.Parser>, body = u'||<tablewidth="100%" #FFFFA0> [[RandomQuote()]]|...other wikis, see OpenWiki:WikiSites/Aggregation.\n', format_args undefined, pi_formatargs = '', do_cache = 1
/usr/lib/python2.2/site-packages/MoinMoin/Page.py in send_page_content(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, Parser=<class MoinMoin.parser.wiki.Parser>, body=u'||<tablewidth="100%" #FFFFA0> [[RandomQuote()]]|...other wikis, see OpenWiki:WikiSites/Aggregation.\n', needsupdate=0, format_args='', do_cache=1)
1043
1044 try:
1045 exec code
1046 except 'CacheNeedsUpdate': # if something goes wrong, try without caching
1047 self.send_page_content(request, Parser, body, needsupdate=1)
code = <code object ? at 0x9606510, file "RecentChanges", line 2>
?
/usr/lib/python2.2/site-packages/MoinMoin/formatter/base.py in macro(self=<MoinMoin.formatter.text_html.Formatter instance>, macro_obj=<MoinMoin.wikimacro.Macro instance>, name=u'RecentChanges', args=None)
219 def macro(self, macro_obj, name, args):
220 # call the macro
221 return macro_obj.execute(name, args)
222
223 def _get_bang_args(self, line):
macro_obj = <MoinMoin.wikimacro.Macro instance>, macro_obj.execute = <bound method Macro.execute of <MoinMoin.wikimacro.Macro instance>>, name = u'RecentChanges', args = None
/usr/lib/python2.2/site-packages/MoinMoin/wikimacro.py in execute(self=<MoinMoin.wikimacro.Macro instance>, macro_name=u'RecentChanges', args=None)
99 macro = wikiutil.importPlugin('macro', macro_name, path=self.cfg.data_dir)
100 if macro:
101 return macro(self, args)
102
103 builtins = vars(self.__class__)
macro = <function execute>, self = <MoinMoin.wikimacro.Macro instance>, args = None
/usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py in execute(macro=<MoinMoin.wikimacro.Macro instance>, args=None, **kw={})
356
357 for page in pages:
358 request.write(format_page_edits(macro, page, bookmark_usecs))
359
360
request = <MoinMoin.request.RequestCGI instance>, request.write = <bound method RequestCGI.write of <MoinMoin.request.RequestCGI instance>>, global format_page_edits = <function format_page_edits>, macro = <MoinMoin.wikimacro.Macro instance>, page = [<MoinMoin.logfile.editlog.EditLogLine instance>], bookmark_usecs = 0
/usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py in format_page_edits(macro=<MoinMoin.wikimacro.Macro instance>, lines=[<MoinMoin.logfile.editlog.EditLogLine instance>], bookmark_usecs=0)
84 d['time_html'] = None
85 if request.cfg.changed_time_fmt:
86 tdiff = long(tnow - wikiutil.version2timestamp(int(line.ed_time_usecs))) / 60 # has to be long for py 2.2.x
87 if tdiff < 1440:
88 d['time_html'] = _("%(hours)dh %(mins)dm ago") % {
tdiff undefined, long undefined, tnow = 1103145648.6896181, global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/lib/python2.2/site-packages/MoinMoin/wikiutil.pyc'>, wikiutil.version2timestamp = <function version2timestamp>, int undefined, line = <MoinMoin.logfile.editlog.EditLogLine instance>, line.ed_time_usecs = 1103145199000000L
OverflowError: long int too large to convert to int
__doc__ = 'Result too large to be represented.'
__getitem__ = <bound method OverflowError.__getitem__ of <exceptions.OverflowError instance>>
__init__ = <bound method OverflowError.__init__ of <exceptions.OverflowError instance>>
__module__ = 'exceptions'
__str__ = <bound method OverflowError.__str__ of <exceptions.OverflowError instance>>
args = ('long int too large to convert to int',)Can you use more recent version of Python? like well tested 2.3.4? Moin should work with 2.2.3, but you want to use newer Python.
Solution:
Go to file /usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py and change line 86 from:
86 tdiff = long(tnow - wikiutil.version2timestamp(int(line.ed_time_usecs))) / 60 # has to be long for py
to:
86 tdiff = long(tnow - wikiutil.version2timestamp(long(line.ed_time_usecs))) / 60 # has to be long for py
Hope that helps.
TODO: fix in tla (please somebody commit it, my workdir is dirty with get_rev change)
Thank you, that appears to have fixed it. Rick
