This ranking shows how often a page was requested since logging began. It provides just a dumb counter, i.e., every single page request counts as one hit.
--> -->
UnicodeEncodeError
'decimal' codec can't encode character u'\x00' in position 0: invalid decimal Unicode string
If you want to report a bug, please save this page and attach it to your bug report.
Traceback
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.4/site-packages/MoinMoin/request.py in run (self=<MoinMoin.request.RequestCGI object>)
- 1149 from MoinMoin.wikiaction import getHandler
 - 1150 handler = getHandler(self, action)
 - 1151 handler(self.page.page_name, self)
 - 1152
 - 1153 # generate page footer (actions that do not want this footer use
 
- handler = <function do_show>
 - self = <MoinMoin.request.RequestCGI object>
 - self.page = <MoinMoin.Page.Page instance>
 - self.page.page_name = u'PageHits'
 
/usr/lib/python2.4/site-packages/MoinMoin/wikiaction.py in do_show (pagename=u'PageHits', request=<MoinMoin.request.RequestCGI object>)
- 466 else:
 - 467 request.cacheable = 1
 - 468 Page(request, pagename).send_page(request, count_hit=1)
 - 469
 - 470
 
- global Page = <class MoinMoin.Page.Page>
 - request = <MoinMoin.request.RequestCGI object>
 - pagename = u'PageHits'
 - ).send_page undefined
 - count_hit undefined
 
/usr/lib/python2.4/site-packages/MoinMoin/Page.py in send_page (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI object>, msg='', **keywords={'count_hit': 1})
- 1251 format_args=pi_formatargs,
 - 1252 do_cache=do_cache,
 - 1253 start_line=pi_lines)
 - 1254
 - 1255 # check for pending footnotes
 
- start_line undefined
 - pi_lines = 7
 
/usr/lib/python2.4/site-packages/MoinMoin/Page.py in send_page_content (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI object>, Parser=<class MoinMoin.parser.wiki.Parser>, body=u'This ranking shows how often a page was requeste...le page request counts as one hit.\n\n[[PageHits]]\n', format_args=u'', do_cache=1, **kw={'start_line': 7})
- 1342 try:
 - 1343 code = self.loadCache(request)
 - 1344 self.execute(request, parser, code)
 - 1345 except Exception, e:
 - 1346 if not is_cache_exception(e):
 
- self = <MoinMoin.Page.Page instance>
 - self.execute = <bound method Page.execute of <MoinMoin.Page.Page instance>>
 - request = <MoinMoin.request.RequestCGI object>
 - parser = <MoinMoin.parser.wiki.Parser instance>
 - code = <code object ? at 0x85a4b20, file "PageHits", line 2>
 
/usr/lib/python2.4/site-packages/MoinMoin/Page.py in execute (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI object>, parser=<MoinMoin.parser.wiki.Parser instance>, code=<code object ? at 0x85a4b20, file "PageHits", line 2>)
- 1371 __file__ = os.path.join(MoinMoin.__loader__.archive, 'dummy')
 - 1372 try:
 - 1373 exec code
 - 1374 except 'CacheNeedsUpdate':
 - 1375 raise Exception('CacheNeedsUpdate')
 
- code = <code object ? at 0x85a4b20, file "PageHits", line 2>
 
/var/www/wiki/heap/view/PageHits in ?
/usr/lib/python2.4/site-packages/MoinMoin/formatter/base.py in macro (self=<MoinMoin.formatter.text_html.Formatter instance>, macro_obj=<MoinMoin.wikimacro.Macro instance>, name=u'PageHits', args=None)
- 288 def macro(self, macro_obj, name, args):
 - 289 # call the macro
 - 290 return macro_obj.execute(name, args)
 - 291
 - 292 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'PageHits'
 - args = None
 
/usr/lib/python2.4/site-packages/MoinMoin/wikimacro.py in execute (self=<MoinMoin.wikimacro.Macro instance>, macro_name=u'PageHits', args=None)
- 118 else:
 - 119 raise ImportError("Cannot load macro %s" % macro_name)
 - 120 return execute(self, args)
 - 121
 - 122 def _m_lang(self, text):
 
- execute = <function execute>
 - self = <MoinMoin.wikimacro.Macro instance>
 - args = None
 
/usr/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in execute (macro=<MoinMoin.wikimacro.Macro instance>, args=None)
- 101 return ''.join(result)
 - 102
 - 103
 - 104 def execute(macro, args):
 - 105 return PageHits(macro, args).execute()
 
- global PageHits = <class MoinMoin.macro.PageHits.PageHits>
 - macro = <MoinMoin.wikimacro.Macro instance>
 - args = None
 - ).execute undefined
 
/usr/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in execute (self=<MoinMoin.macro.PageHits.PageHits instance>)
- 32 """ Execute the macro and return output """
 - 33 cacheDate, hits = self.cachedHits()
 - 34 self.addHitsFromLog(hits, cacheDate)
 - 35 self.filterReadableHits(hits)
 - 36 hits = [(hits[pagename], pagename) for pagename in hits]
 
- self = <MoinMoin.macro.PageHits.PageHits instance>
 - self.addHitsFromLog = <bound method PageHits.addHitsFromLog of <MoinMoin.macro.PageHits.PageHits instance>>
 - hits = {u'(null)': 1, u'-/Titlepage/sample.docinfo.html': 3, u'13 Weight - Thinning hair Myths And Mistakes': 512, u'24 7 Debit Greeting card Payday cash loans': 350, u'3 Month Cash advance loans - Pay back Anytime you like': 326, u'30 days Financial loans Sixty day Cash advance': 308, u'4 Retail store Clothes Stocks and shares Along with Absolutely nothing Financial debt': 302, u'45.77.41.36 Of fleshlight Described': 2, u'5 Methods To Dispute Errors On Your Credit Report': 166, u'5 Steps to get your ex back - How to get your ex back': 278, ...}
 - cacheDate = 1631979972000000L
 
/usr/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in addHitsFromLog (self=<MoinMoin.macro.PageHits.PageHits instance>, hits={u'(null)': 1, u'-/Titlepage/sample.docinfo.html': 3, u'13 Weight - Thinning hair Myths And Mistakes': 512, u'24 7 Debit Greeting card Payday cash loans': 350, u'3 Month Cash advance loans - Pay back Anytime you like': 326, u'30 days Financial loans Sixty day Cash advance': 308, u'4 Retail store Clothes Stocks and shares Along with Absolutely nothing Financial debt': 302, u'45.77.41.36 Of fleshlight Described': 2, u'5 Methods To Dispute Errors On Your Credit Report': 166, u'5 Steps to get your ex back - How to get your ex back': 278, ...}, cacheDate=1631979972000000L)
- 59 changed = False
 - 60 event_log.set_filter(['VIEWPAGE'])
 - 61 for event in event_log.reverse():
 - 62 if event[0] <= cacheDate:
 - 63 break
 
- event = (1761880193728997L, u'VIEWPAGE', {'HTTP_USER_AGENT': u'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...rt/amazonbot) Chrome/119.0.6045.214 Safari/537.36', 'REMOTE_ADDR': u'44.208.223.68', 'pagename': u'HelpOnMacros/MonthCalendar/2077-08-26'})
 - event_log = <MoinMoin.logfile.eventlog.EventLog instance>
 - event_log.reverse = <bound method EventLog.reverse of <MoinMoin.logfile.eventlog.EventLog instance>>
 
/usr/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in reverse (self=<MoinMoin.logfile.eventlog.EventLog instance>)
- 97 while 1:
 - 98 try:
 - 99 result = self.previous()
 - 100 except StopIteration:
 - 101 return
 
- result = (1761880193728997L, u'VIEWPAGE', {'HTTP_USER_AGENT': u'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...rt/amazonbot) Chrome/119.0.6045.214 Safari/537.36', 'REMOTE_ADDR': u'44.208.223.68', 'pagename': u'HelpOnMacros/MonthCalendar/2077-08-26'})
 - self = <MoinMoin.logfile.eventlog.EventLog instance>
 - self.previous = <bound method EventLog.previous of <MoinMoin.logfile.eventlog.EventLog instance>>
 
/usr/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in previous (self=<MoinMoin.logfile.eventlog.EventLog instance>)
- 287 while result == None:
 - 288 while result == None:
 - 289 result = self.__previous()
 - 290 if self.filter and not self.filter(result):
 - 291 result = None
 
- result = None
 - self = <MoinMoin.logfile.eventlog.EventLog instance>
 - self.__previous undefined
 
/usr/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in __previous (self=<MoinMoin.logfile.eventlog.EventLog instance>)
- 277 def __previous(self):
 - 278 if self.peek(-1): raise StopIteration
 - 279 return self.parser(self.__buffer.lines[self.__rel_index])
 - 280
 - 281 def previous(self):
 
- self = <MoinMoin.logfile.eventlog.EventLog instance>
 - self.parser = <bound method EventLog.parser of <MoinMoin.logfile.eventlog.EventLog instance>>
 - self.__buffer undefined
 - self.__rel_index undefined
 
/usr/lib/python2.4/site-packages/MoinMoin/logfile/eventlog.py in parser (self=<MoinMoin.logfile.eventlog.EventLog instance>, line=u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00....0.0.0+Safari/605.1.15&REMOTE_ADDR=52.21.238.185\n')
- 52 # badly formatted line in file, skip it
 - 53 return None
 - 54 return long(time_usecs), eventtype, wikiutil.parseQueryString(kvpairs)
 - 55
 - 56 def set_filter(self, event_types = None):
 
- builtin long = <type 'long'>
 - time_usecs = u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001761880134430391'
 - eventtype = u'VIEWPAGE'
 - global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/lib/python2.4/site-packages/MoinMoin/wikiutil.pyc'>
 - wikiutil.parseQueryString = <function parseQueryString>
 - kvpairs = u'pagename=payday+loans+Programs+-+A+Background&HT...9.0.0.0+Safari/605.1.15&REMOTE_ADDR=52.21.238.185'
 
UnicodeEncodeError
'decimal' codec can't encode character u'\x00' in position 0: invalid decimal Unicode string
- args = ('decimal', u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001761880134430391', 0, 1, 'invalid decimal Unicode string')
 - encoding = 'decimal'
 - end = 1
 - object = u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001761880134430391'
 - reason = 'invalid decimal Unicode string'
 - start = 0
 
System Details
- Date: Tue, 04 Nov 2025 13:17:59 +0000
 - Platform: Linux heap.altlinux.org 3.10.0-ovz-el7-alt4.1160.42.2.vz7.184.7 #1 SMP Mon Dec 20 11:24:03 UTC 2021 i686
 - Python: Python 2.4.4 (/usr/bin/python)
 - MoinMoin: Release 1.5.6 (release)
 
