• Immutable Page
  • Info
  • Attachments

网页流量

这里显示从日志创建以来网页被访问的频度。数据未经智能化处理,每次访问都计算在内。

--> -->

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.

  1. /var/www/moin-test/MoinMoin/request.py in run (self=<MoinMoin.request.RequestFastCGI object>)

    1. 1023 # Visit pagename
    2. 1024 self.page = Page(self, pagename)
    3. 1025 self.page.send_page(self, count_hit=1)
    4. 1026
    5. 1027 # generate page footer (actions that do not want this footer
    • self = <MoinMoin.request.RequestFastCGI object>
    • self.page = <MoinMoin.Page.Page instance>
    • self.page.send_page = <bound method Page.send_page of <MoinMoin.Page.Page instance>>
    • count_hit undefined
  2. /var/www/moin-test/MoinMoin/Page.py in send_page (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestFastCGI object>, msg='', **keywords={'count_hit': 1})

    1. 1209 format_args=pi_formatargs,
    2. 1210 do_cache=do_cache,
    3. 1211 start_line=pi_lines)
    4. 1212
    5. 1213 # check for pending footnotes
    • start_line undefined
    • pi_lines = 9
  3. /var/www/moin-test/MoinMoin/Page.py in send_page_content (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestFastCGI object>, Parser=<class MoinMoin.parser.wiki.Parser>, body=u'\n\u8fd9\u91cc\u663e\u793a\u4ece\u65e5\u5fd7\u521b\u5efa\u4ee5\u6765\u7f51\u9875\u88ab\u8bbf\u95ee\u7684\u9891\u5ea6\u3002\u6570\u636e\u672a\u7ecf\u667a\u80fd\u5316\u5904\u7406\uff0c\u6bcf\u6b21\u8bbf\u95ee\u90fd\u8ba1\u7b97\u5728\u5185\u3002\n\n[[PageHits]]\n\n\u6b64\u9875\u7684\u82f1\u6587\u7248\u672c\uff1aPageHits\n', format_args=u'', do_cache=1, **kw={'start_line': 9})

    1. 1293 try:
    2. 1294 code = self.loadCache(request)
    3. 1295 self.execute(request, parser, code)
    4. 1296 except 'CacheNeedsUpdate':
    5. 1297 try:
    • self = <MoinMoin.Page.Page instance>
    • self.execute = <bound method Page.execute of <MoinMoin.Page.Page instance>>
    • request = <MoinMoin.request.RequestFastCGI object>
    • parser = <MoinMoin.parser.wiki.Parser instance>
    • code = <code object ? at 0x4345180, file "网页流量", line 2>
  4. /var/www/moin-test/MoinMoin/Page.py in execute (self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestFastCGI object>, parser=<MoinMoin.parser.wiki.Parser instance>, code=<code object ? at 0x4345180, file "网页流量", line 2>)

    1. 1318 if hasattr(MoinMoin, '__loader__'):
    2. 1319 __file__ = os.path.join(MoinMoin.__loader__.archive, 'dummy')
    3. 1320 exec code
    4. 1321
    5. 1322 def loadCache(self, request):
    • code = <code object ? at 0x4345180, file "网页流量", line 2>
  5. /var/www/moin-test/wiki/server/网页流量 in ?

  6. /var/www/moin-test/MoinMoin/formatter/base.py in macro (self=<MoinMoin.formatter.text_html.Formatter instance>, macro_obj=<MoinMoin.wikimacro.Macro instance>, name=u'PageHits', args=None)

    1. 279 def macro(self, macro_obj, name, args):
    2. 280 # call the macro
    3. 281 return macro_obj.execute(name, args)
    4. 282
    5. 283 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
  7. /var/www/moin-test/MoinMoin/wikimacro.py in execute (self=<MoinMoin.wikimacro.Macro instance>, macro_name=u'PageHits', args=None)

    1. 118 else:
    2. 119 raise ImportError("Cannot load macro %s" % macro_name)
    3. 120 return execute(self, args)
    4. 121
    5. 122 def _m_lang(self, text):
    • execute = <function execute>
    • self = <MoinMoin.wikimacro.Macro instance>
    • args = None
  8. /var/www/moin-test/MoinMoin/macro/PageHits.py in execute (macro=<MoinMoin.wikimacro.Macro instance>, args=None)

    1. 101 return ''.join(result)
    2. 102
    3. 103
    4. 104 def execute(macro, args):
    5. 105 return PageHits(macro, args).execute()
    • global PageHits = <class MoinMoin.macro.PageHits.PageHits>
    • macro = <MoinMoin.wikimacro.Macro instance>
    • args = None
    • ).execute undefined
  9. /var/www/moin-test/MoinMoin/macro/PageHits.py in execute (self=<MoinMoin.macro.PageHits.PageHits instance>)

    1. 32 """ Execute the macro and return output """
    2. 33 cacheDate, hits = self.cachedHits()
    3. 34 self.addHitsFromLog(hits, cacheDate)
    4. 35 self.filterReadableHits(hits)
    5. 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'"': 11, u'" + gaJsHost + "google-analytics.com/ga.js': 1, u'" class="neww" target=" blank" title="Im neuen Fenster &ouml;ffnen/components/errors.php': 1, u'" id="results results ctl8 title" class="title': 1, u'"chrome:/diigotb/skin/ann-bar-bg-left.png"': 1, u'"chrome:/diigotb/skin/ann-bar-bg-right.png"': 1, u'"chrome:/diigotb/skin/ann-bar-bg-separator.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-arrow.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-current.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-ellipse.png"': 1, ...}
    • cacheDate = 1307556744000000L
  10. /var/www/moin-test/MoinMoin/macro/PageHits.py in addHitsFromLog (self=<MoinMoin.macro.PageHits.PageHits instance>, hits={u'"': 11, u'" + gaJsHost + "google-analytics.com/ga.js': 1, u'" class="neww" target=" blank" title="Im neuen Fenster &ouml;ffnen/components/errors.php': 1, u'" id="results results ctl8 title" class="title': 1, u'"chrome:/diigotb/skin/ann-bar-bg-left.png"': 1, u'"chrome:/diigotb/skin/ann-bar-bg-right.png"': 1, u'"chrome:/diigotb/skin/ann-bar-bg-separator.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-arrow.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-current.png"': 1, u'"chrome:/diigotb/skin/ann-bar-opt-ellipse.png"': 1, ...}, cacheDate=1307556744000000L)

    1. 59 changed = False
    2. 60 event_log.set_filter(['VIEWPAGE'])
    3. 61 for event in event_log.reverse():
    4. 62 if event[0] <= cacheDate:
    5. 63 break
    • event = (1337376693045464L, u'VIEWPAGE', {'HTTP_USER_AGENT': u'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)', 'REMOTE_ADDR': u'199.21.99.103', 'pagename': u'\u5b58\u5728\u3057\u306a\u3044\u30da\u30fc\u30b8'})
    • event_log = <MoinMoin.logfile.eventlog.EventLog instance>
    • event_log.reverse = <bound method EventLog.reverse of <MoinMoin.logfile.eventlog.EventLog instance>>
  11. /var/www/moin-test/MoinMoin/logfile/logfile.py in reverse (self=<MoinMoin.logfile.eventlog.EventLog instance>)

    1. 97 while 1:
    2. 98 try:
    3. 99 result = self.previous()
    4. 100 except StopIteration:
    5. 101 return
    • result = (1337376693045464L, u'VIEWPAGE', {'HTTP_USER_AGENT': u'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)', 'REMOTE_ADDR': u'199.21.99.103', 'pagename': u'\u5b58\u5728\u3057\u306a\u3044\u30da\u30fc\u30b8'})
    • self = <MoinMoin.logfile.eventlog.EventLog instance>
    • self.previous = <bound method EventLog.previous of <MoinMoin.logfile.eventlog.EventLog instance>>
  12. /var/www/moin-test/MoinMoin/logfile/logfile.py in previous (self=<MoinMoin.logfile.eventlog.EventLog instance>)

    1. 292 while result == None:
    2. 293 while result == None:
    3. 294 result = self.__previous()
    4. 295 if self.filter and not self.filter(result):
    5. 296 result = None
    • result = None
    • self = <MoinMoin.logfile.eventlog.EventLog instance>
    • self.__previous undefined
  13. /var/www/moin-test/MoinMoin/logfile/logfile.py in __previous (self=<MoinMoin.logfile.eventlog.EventLog instance>)

    1. 282 def __previous(self):
    2. 283 if self.peek(-1): raise StopIteration
    3. 284 return self.parser(self.__buffer.lines[self.__rel_index])
    4. 285
    5. 286 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
  14. /var/www/moin-test/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...3A//yandex.com/bots%29&REMOTE_ADDR=199.21.99.103\n')

    1. 53 # badly formatted line in file, skip it
    2. 54 return None
    3. 55 return long(time_usecs), eventtype, wikiutil.parseQueryString(kvpairs)
    4. 56
    5. 57 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\x001337376210364745'
    • eventtype = u'VIEWPAGE'
    • global wikiutil = <module 'MoinMoin.wikiutil' from '/var/www/moin-test/MoinMoin/wikiutil.pyc'>
    • wikiutil.parseQueryString = <function parseQueryString>
    • kvpairs = u'pagename=WhyVirtualization&HTTP_USER_AGENT=Mozil...%3A//yandex.com/bots%29&REMOTE_ADDR=199.21.99.103'

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\x001337376210364745', 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\x001337376210364745'
  • reason = 'invalid decimal Unicode string'
  • start = 0

System Details