Ошибка в 0.14
9 years 2 months ago #173
by fabrikant
fabrikant created the topic: Ошибка в 0.14
Добрый день. Опять возникла ошибка с недопустимыми символами.
Воспроизводится на библиотеке флибусты.
Переходы: По жанрам > Фантастика > Постапокалипсис > A..Я(РУС)
Валится на "&" в описании книги
Лечение в sopds.cgi заменить процедуру entry_content2 на следующее.В принципе, для фикса ошибки достаточно было но, на мой взгляд, есть ненулевая вероятность, что рано или поздно попадутся такие строки и в других полях.
Ну и до кучи. Может стоить добавить в def websym обработку ">"? Тоже ведь всплывет рано или поздно. Типа такого:Не стал отправлять через github. Все равно мои изменения руками вносите
Если вносите
)
Воспроизводится на библиотеке флибусты.
Переходы: По жанрам > Фантастика > Постапокалипсис > A..Я(РУС)
Валится на "&" в описании книги
Лечение в sopds.cgi заменить процедуру entry_content2 на следующее.
def entry_content2(annotation='',title='',authors='',genres='',filename='',filesize=0,docdate='',series=''):
enc_print('<content type="text/html">')
if annotation!='':
enc_print('<p class=book>'+websym(annotation)+'</p>')
if title!='':
enc_print('<b>Название книги:</b> '+websym(title)+'<br/>')
if authors!='':
enc_print('<b>Авторы:</b> '+websym(authors)+'<br/>')
if genres!='':
enc_print('<b>Жанры:</b> '+websym(genres)+'<br/>')
if series!='':
enc_print('<b>Серии:</b> '+websym(series)+'<br/>')
if filename!='':
enc_print('<b>Файл:</b> '+websym(filename)+'<br/>')
if filesize>0:
enc_print('<b>Размер файла:</b> '+str(fsize//1000)+'Кб.<br/>')
if docdate!='':
enc_print('<b>Дата правки:</b> '+docdate+'<br/>')
enc_print('</content>')
enc_print('<p class=book>'+websym(annotation)+'</p>')
Ну и до кучи. Может стоить добавить в def websym обработку ">"? Тоже ведь всплывет рано или поздно. Типа такого:
def websym(s,attr=False):
"""Replace special web-symbols"""
result = s
if attr:
table = {'"':'\''}
else:
table = {'&':'&','<':'<','>':'>'}
for k in table.keys():
result = result.replace(k,table[k])
return result;


Please Войти or Create an account to join the conversation.
- fabrikant
-
Topic Author
- Offline
- Новый участник
-
Less
More
- Posts: 7
9 years 2 months ago - 9 years 2 months ago #174
by mitshel
mitshel replied the topic: Ошибка в 0.14
Конечно-же вношу Ваши исправления и через гихаб тоже. Спасибо за помощь.
В прошлый раз просто очень мелкое исправление было. Действительно легче было тогда просто исправить руками.
А с закрывающим символом > думаю проблем-то не должно быть.
Спасибо.
В прошлый раз просто очень мелкое исправление было. Действительно легче было тогда просто исправить руками.
А с закрывающим символом > думаю проблем-то не должно быть.
Спасибо.
Last Edit: 9 years 2 months ago by mitshel.
Please Войти or Create an account to join the conversation.
- mitshel
-
- Offline
- Администратор
-
Less
More
- Posts: 297
- Karma: 8
Time to create page: 0.118 seconds