<type 'exceptions.UnicodeDecodeError'> | Python 2.7.15+: /usr/bin/python2 Mon Jun 23 06:29:44 2025 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/var/www/artrz.ru/htdocs/src/index.py in <module>() |
336 "menu": rubricator.html(len(params)>=2 and params[0]=="menu" and re.match("^\d+$", params[1]) and params[1]) } |
337 space["title"] = "<br>".join(space["title"].splitlines()) |
=> 338 space.update(page(params)) |
339 result = template("main").merge(space, loader) |
340 except: |
space = {'banners': [{'id': 1805367818, 'image': 1805368091, 'name': '\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xb8\xd1\x82\xd0\xb5\xd1\x82 \xd0\xbf\xd0\xbe \xd0\xb2\xd0\xbd\xd0\xb5\xd1\x88\xd0\xbd\xd0\xb8\xd0\xbc \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb7\xd1\x8f\xd0\xbc \xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0', 'ref': 'http://www.kvs.spb.ru'}, {'id': 1805367844, 'image': 1804835877, 'name': '\xd0\xa0\xd0\xbe\xd1\x81\xd1\x81\xd0\xb8\xd0\xb9\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9 \xd0\xb3\xd1\x83\xd0\xbc\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x82\xd0\xb0\xd1\x80\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x83\xd1\x87\xd0\xbd\xd1\x8b\xd0\xb9 \xd1\x84\xd0\xbe\xd0\xbd\xd0\xb4', 'ref': 'http://www.rfh.ru'}, {'id': 1805367890, 'image': 1804846338, 'name': '\xd0\xa4\xd0\xbe\xd0\xbd\xd0\xb4 "\xd0\x9a\xd0\xbe\xd0\xbd\xd1\x81\xd1\x82\xd0\xb0\xd0\xbd\xd1\x82\xd0\xb8\xd0\xbd\xd0\xbe\xd0\xb2\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9"', 'ref': 'http://www.mbfk.ru'}, {'id': 1804932204, 'image': 1804931868, 'name': '\xd0\x94\xd0\xbe\xd0\xbc-\xd0\xbc\xd1\x83\xd0\xb7\xd0\xb5\xd0\xb9 \xd0\x9c\xd0\xb0\xd1\x80\xd0\xb8\xd0\xbd\xd1\x8b \xd0\xa6\xd0\xb2\xd0\xb5\xd1\x82\xd0\xb0\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb9', 'ref': 'http://www.dommuseum.ru/'}, {'id': 1804895481, 'image': 1804895658, 'name': '\xd0\x97\xd0\x90\xd0\x9e \xc2\xab\xd0\x90\xd0\xbb\xd1\x8c\xd1\x82-\xd0\xa1\xd0\xbe\xd1\x84\xd1\x82\xc2\xbb \xd0\xb8\xd0\xbd\xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd0\xb0\xd1\x86\xd0\xb8\xd0...\xd0\xbc\xd0\xbc\xd1\x83\xd0\xbd\xd0\xb8\xd0\xba\xd0\xb0\xd1\x86\xd0\xb8\xd0\xbe\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb5 \xd1\x82\xd0\xb5\xd1\x85\xd0\xbd\xd0\xbe\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb8\xd0\xb8', 'ref': 'http://www.altsoft.spb.ru'}], 'left_links': [{'active': None, 'id': 1805368474, 'image': 1805368485, 'name': '\xd0\xa0\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb8\xd0\xb5 \xd0\xb2 \xd0\x98\xd1\x82\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xb8', 'text': 'http://www.russinitalia.it'}, {'active': None, 'id': 1805368262, 'image': 1805368273, 'name': '\xd0\xa0\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb8\xd0\xb5 \xd0\x9b\xd0\xb0\xd1\x82\xd0\xb2\xd0\xb8\xd0\xb8', 'text': 'http://www.russkije.lv'}, {'active': None, 'id': 1805368210, 'image': 1805368221, 'name': '\xd0\xa0\xd0\xbe\xd1\x81\xd1\x81\xd0\xb8\xd0\xb9\xd1\x81\xd0\xba\xd0\xbe\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x80\xd1\x83\xd0\xb1\xd0\xb5\xd0\xb6\xd1\x8c\xd0\xb5 \xd0\xb2\xd0\xbe \xd0\xa4\xd1\x80\xd0\xb0\xd0\xbd\xd1\x86\xd0\xb8\xd0\xb8', 'text': 'http://www.dommuseum.ru/old/?m=dist'}, {'active': None, 'id': 1805368287, 'image': 1805368298, 'name': '\xd0\xa0\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb0\xd1\x8f \xd0\xad\xd1\x81\xd1\x82\xd0\xbe\xd0\xbd\xd0\xb8\xd1\x8f', 'text': 'http://russianestonia.eu'}], 'menu': '<div id="menu"><a class="menu_1" href="/menu/180...760.html">\xd0\xa1\xd0\xbe\xd0\xba\xd1\x80\xd0\xb0\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f</a>--></div></div>', 'title': '\xd0\x9f\xd0\xbe \xd0\xb2\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc\xd1\x83 \xd0\xb7\xd0\xb0\xd0\xbf\xd1\x80\xd0\xbe\xd1\x81\xd1\x83 \xd0\xbd\xd0\xb8\xd1\x87\xd0\xb5\xd0\xb3\xd0\xbe \xd0\xbd\xd0\xb5 \xd0\xbd\xd0\xb0\xd0\xb9\xd0\xb4\xd0\xb5\xd0\xbd\xd0\xbe'}, space.update = <built-in method update of dict object>, page = <function page>, params = ['search', '\xd0\x9c\xd0\xb0\xd0'] |
/var/www/artrz.ru/htdocs/src/index.py in page(params=['search', '\xd0\x9c\xd0\xb0\xd0']) |
172 return article(params[1]) |
173 elif match("search", ".+"): |
=> 174 al = model.search(urllib.unquote(params[1])) |
175 return { "title": "Результаты поиска" if al else "По вашему запросу ничего не найдено", |
176 "articles": al } |
al undefined, global model = <model.Model instance>, model.search = <bound method Model.search of <model.Model instance>>, global urllib = <module 'urllib' from '/usr/lib/python2.7/urllib.pyc'>, urllib.unquote = <function unquote>, params = ['search', '\xd0\x9c\xd0\xb0\xd0'] |
/var/www/artrz.ru/htdocs/src/model.py in search(self=<model.Model instance>, txt='\xd0\x9c\xd0\xb0\xd0') |
430 return self.banners() |
431 def search(self, txt): |
=> 432 sr = IndexReader("../index").search(txt) |
433 articles = [] |
434 if sr and sr.has_key("articles") and sr["articles"]: |
sr undefined, global IndexReader = <class search.IndexReader>, ).search = <unbound method IndexReader.search>, txt = '\xd0\x9c\xd0\xb0\xd0' |
/var/www/artrz.ru/htdocs/src/search.py in search(self=<search.IndexReader instance>, s='\xd0\x9c\xd0\xb0\xd0') |
73 self.path = path |
74 def search(self, s): |
=> 75 words = [ru_stem(x) for x in ru_split(s.decode("UTF-8")) if len(x)] |
76 file_list = [self.path + "/" + "/".join(ch for ch in w) + "/list.json" for w in words] |
77 r = None |
words undefined, global ru_stem = <function ru_stem>, x undefined, global ru_split = <function ru_split>, s = '\xd0\x9c\xd0\xb0\xd0', s.decode = <built-in method decode of str object>, builtin len = <built-in function len> |
/usr/lib/python2.7/encodings/utf_8.py in decode(input='\xd0\x9c\xd0\xb0\xd0', errors='strict') |
14 |
15 def decode(input, errors='strict'): |
=> 16 return codecs.utf_8_decode(input, errors, True) |
17 |
18 class IncrementalEncoder(codecs.IncrementalEncoder): |
global codecs = <module 'codecs' from '/usr/lib/python2.7/codecs.pyc'>, codecs.utf_8_decode = <built-in function utf_8_decode>, input = '\xd0\x9c\xd0\xb0\xd0', errors = 'strict', builtin True = True |
<type 'exceptions.UnicodeDecodeError'>: 'utf8' codec can't decode byte 0xd0 in position 4: unexpected end of data
args =
('utf8', '\xd0\x9c\xd0\xb0\xd0', 4, 5, 'unexpected end of data')
encoding =
'utf8'
end =
5
message =
''
object =
'\xd0\x9c\xd0\xb0\xd0'
reason =
'unexpected end of data'
start =
4