This page shows how often a page was requested since the beginning of logging. It has no intelligence, every view counts as hit.
--> -->| UnicodeDecodeError'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128) | Please include this information in your bug reports!: Python Python 2.4.2: /usr/local/bin/python Linux mm1.mammothmedia.com.au 2.6.9-78.0.1.ELsmp #1 SMP Tue Jul 22 18:11:48 EDT 2008 i686 MoinMoin Release 1.3.5 [Revision 1.3.5 release] Thu Aug 28 12:13:16 2008 |
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/local/moin/lib/python2.4/site-packages/MoinMoin/request.py in run(self=<MoinMoin.request.RequestCGI object>) |
| 854 if self.cfg.allow_extended_names: |
| 855 self.page = Page(self, pagename) |
| 856 self.page.send_page(self, count_hit=1) |
| 857 else: |
| 858 # TODO: kill this. Why disable allow extended names? |
| self = <MoinMoin.request.RequestCGI object>, self.page = <MoinMoin.Page.Page instance>, self.page.send_page = <bound method Page.send_page of <MoinMoin.Page.Page instance>>, count_hit undefined |
| /usr/local/moin/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}) |
| 1154 else: |
| 1155 # parse the text and send the page content |
| 1156 self.send_page_content(request, Parser, body, format_args=pi_formatargs, do_cache=do_cache) |
| 1157 |
| 1158 # 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 object>, Parser = <class MoinMoin.parser.wiki.Parser>, body = u'This page shows how often a page was requested s...ligence, every view counts as hit.\n\n[[PageHits]]\n', format_args undefined, pi_formatargs = u'', do_cache = 1 |
| /usr/local/moin/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 page shows how often a page was requested s...ligence, every view counts as hit.\n\n[[PageHits]]\n', needsupdate=0, format_args=u'', do_cache=1) |
| 1314 __file__ = os.path.join(moinmodule.__loader__.archive, 'dummy') |
| 1315 |
| 1316 exec code |
| 1317 except 'CacheNeedsUpdate': |
| 1318 # if something goes wrong, try without caching |
| code = <code object ? at 0x29d5e0, file "PageHits", line 2> |
| /usr/local/moin/wikis/gamecreatewiki/cgi-bin/PageHits |
| /usr/local/moin/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) |
| 229 def macro(self, macro_obj, name, args): |
| 230 # call the macro |
| 231 return macro_obj.execute(name, args) |
| 232 |
| 233 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/local/moin/lib/python2.4/site-packages/MoinMoin/wikimacro.py in execute(self=<MoinMoin.wikimacro.Macro instance>, macro_name=u'PageHits', args=None) |
| 99 macro = wikiutil.importPlugin(self.request.cfg, 'macro', macro_name) |
| 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/local/moin/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in execute(macro=<MoinMoin.wikimacro.Macro instance>, args=None) |
| 106 return ''.join(result) |
| 107 |
| 108 |
| 109 def execute(macro, args): |
| 110 return PageHits(macro, args).execute() |
| global PageHits = <class MoinMoin.macro.PageHits.PageHits>, macro = <MoinMoin.wikimacro.Macro instance>, args = None, ).execute undefined |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in execute(self=<MoinMoin.macro.PageHits.PageHits instance>) |
| 37 """ Execute the macro and return output """ |
| 38 cacheDate, hits = self.cachedHits() |
| 39 self.addHitsFromLog(hits, cacheDate) |
| 40 self.filterReadableHits(hits) |
| 41 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'AbandonedPages': 1, u'AdminBrowseByGamePage': 5, u'AdminBrowseByHostPage': 1, u'AdminBrowseByServerPage': 1, u'AdminDomainPackagesPage': 1, u'AdminEditDomainPage': 2, u'AdminEditServerPage': 1, u'AdminGamePage': 2, u'AdminGamesPage': 1, u'AdminHostPage': 1, ...}, cacheDate = 1129176129000000L |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/macro/PageHits.py in addHitsFromLog(self=<MoinMoin.macro.PageHits.PageHits instance>, hits={u'AbandonedPages': 1, u'AdminBrowseByGamePage': 5, u'AdminBrowseByHostPage': 1, u'AdminBrowseByServerPage': 1, u'AdminDomainPackagesPage': 1, u'AdminEditDomainPage': 2, u'AdminEditServerPage': 1, u'AdminGamePage': 2, u'AdminGamesPage': 1, u'AdminHostPage': 1, ...}, cacheDate=1129176129000000L) |
| 64 changed = False |
| 65 event_log.set_filter(['VIEWPAGE']) |
| 66 for event in event_log.reverse(): |
| 67 if event[0] <= cacheDate: |
| 68 break |
| event = (1219850932650223L, u'VIEWPAGE', {u'HTTP_REFERER': u'http://doc.gamecreate.com/BuscaP%C3%A1gina', u'HTTP_USER_AGENT': u'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1', u'REMOTE_ADDR': u'89.128.141.205', u'pagename': u'ManualContents'}), event_log = <MoinMoin.logfile.eventlog.EventLog instance>, event_log.reverse = <bound method EventLog.reverse of <MoinMoin.logfile.eventlog.EventLog instance>> |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in reverse(self=<MoinMoin.logfile.eventlog.EventLog instance>) |
| 99 while 1: |
| 100 try: |
| 101 result = self.previous() |
| 102 except StopIteration: |
| 103 return |
| result = (1219850932650223L, u'VIEWPAGE', {u'HTTP_REFERER': u'http://doc.gamecreate.com/BuscaP%C3%A1gina', u'HTTP_USER_AGENT': u'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1', u'REMOTE_ADDR': u'89.128.141.205', u'pagename': u'ManualContents'}), self = <MoinMoin.logfile.eventlog.EventLog instance>, self.previous = <bound method EventLog.previous of <MoinMoin.logfile.eventlog.EventLog instance>> |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in previous(self=<MoinMoin.logfile.eventlog.EventLog instance>) |
| 294 while result == None: |
| 295 while result == None: |
| 296 result = self.__previous() |
| 297 if self.filter and not self.filter(result): |
| 298 result = None |
| result = None, self = <MoinMoin.logfile.eventlog.EventLog instance>, self.__previous undefined |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/logfile/logfile.py in __previous(self=<MoinMoin.logfile.eventlog.EventLog instance>) |
| 284 def __previous(self): |
| 285 if self.peek(-1): raise StopIteration |
| 286 return self.parser(self.__buffer.lines[self.__rel_index]) |
| 287 |
| 288 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/local/moin/lib/python2.4/site-packages/MoinMoin/logfile/eventlog.py in parser(self=<MoinMoin.logfile.eventlog.EventLog instance>, line=u'1219850931194931\tVIEWPAGE\tpagename=BuscaP%C3%A1g...%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205\n') |
| 53 # badly formatted line in file, skip it |
| 54 return None |
| 55 return long(time_usecs), eventtype, web.parseQueryString(kvpairs) |
| 56 |
| 57 def set_filter(self, event_types = None): |
| long undefined, time_usecs = u'1219850931194931', eventtype = u'VIEWPAGE', global web = <module 'MoinMoin.util.web' from '/usr/local/moi...b/python2.4/site-packages/MoinMoin/util/web.pyc'>, web.parseQueryString = <function parseQueryString>, kvpairs = u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205' |
| /usr/local/moin/lib/python2.4/site-packages/MoinMoin/util/web.py in parseQueryString(qstr=u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205') |
| 28 import cgi |
| 29 values = {} |
| 30 for key, value in cgi.parse_qs(qstr).items(): |
| 31 if len(value) < 2: |
| 32 values[key] = ''.join(value) |
| key undefined, value undefined, cgi = <module 'cgi' from '/usr/local/python/lib/python2.4/cgi.pyc'>, cgi.parse_qs = <function parse_qs>, qstr = u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205', ).items undefined |
| /usr/local/python/lib/python2.4/cgi.py in parse_qs(qs=u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205', keep_blank_values=0, strict_parsing=0) |
| 181 """ |
| 182 dict = {} |
| 183 for name, value in parse_qsl(qs, keep_blank_values, strict_parsing): |
| 184 if name in dict: |
| 185 dict[name].append(value) |
| name undefined, value undefined, global parse_qsl = <function parse_qsl>, qs = u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205', keep_blank_values = 0, strict_parsing = 0 |
| /usr/local/python/lib/python2.4/cgi.py in parse_qsl(qs=u'pagename=BuscaP%C3%A1gina&HTTP_USER_AGENT=Mozill...P%25C3%25A1ginaInicial&REMOTE_ADDR=89.128.141.205', keep_blank_values=0, strict_parsing=0) |
| 223 if len(nv[1]) or keep_blank_values: |
| 224 name = urllib.unquote(nv[0].replace('+', ' ')) |
| 225 value = urllib.unquote(nv[1].replace('+', ' ')) |
| 226 r.append((name, value)) |
| 227 |
| value undefined, global urllib = <module 'urllib' from '/usr/local/python/lib/python2.4/urllib.pyc'>, urllib.unquote = <function unquote>, nv = [u'pagename', u'BuscaP%C3%A1gina'], ].replace undefined |
| /usr/local/python/lib/python2.4/urllib.py in unquote(s=u'BuscaP%C3%A1gina') |
| 1059 item = res[i] |
| 1060 try: |
| 1061 res[i] = _hextochr[item[:2]] + item[2:] |
| 1062 except KeyError: |
| 1063 res[i] = '%' + item |
| res = [u'BuscaP', u'C3', u'A1gina'], i = 1, global _hextochr = {'00': '\x00', '01': '\x01', '02': '\x02', '03': '\x03', '04': '\x04', '05': '\x05', '06': '\x06', '07': '\x07', '08': '\x08', '09': '\t', ...}, item = u'C3' |
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
__doc__ =
'Unicode decoding error.'
__getitem__ =
<bound method UnicodeDecodeError.__getitem__ of <exceptions.UnicodeDecodeError instance>>
__init__ =
<bound method UnicodeDecodeError.__init__ of <exceptions.UnicodeDecodeError instance>>
__module__ =
'exceptions'
__str__ =
<bound method UnicodeDecodeError.__str__ of <exceptions.UnicodeDecodeError instance>>
args =
('ascii', '\xc3', 0, 1, 'ordinal not in range(128)')
encoding =
'ascii'
end =
1
object =
'\xc3'
reason =
'ordinal not in range(128)'
start =
0
