__copyright__ = "Copyright (C) 2006-2024 PhiloSoft Design"
from calendar import _localized_month
-import cgi
+from html import escape
import locale
import sys, os
from urllib.parse import quote, urljoin
def encode_tag(tag):
- return quote(tag.replace(' ', '_'))
+ return quote(tag.replace(' ', '_'), encoding='koi8-r')
def write_template(level, year, month, day, titles, tags=None):
Синтаксис выражения:</p>
<ul class="small">
<li>Тег - если такой тег существует, произойдёт перенаправление на страницу тега.</li>
- <li>Оператор '!' (NOT, not) - ищет записи, в которых нет этого тега.</li>
- <li>Оператор '&' (AND, and) - ищет записи, в которых есть оба тега.</li>
- <li>Оператор '|' (OR, or) - ищет записи, в которых есть любые из тегов.</li>
+ <li>Оператор '!' (NOT, not, НЕ, не) - ищет записи, в которых нет этого тега.</li>
+ <li>Оператор '&' (AND, and, И, и) - ищет записи, в которых есть оба тега.</li>
+ <li>Оператор '|' (OR, or, ИЛИ, или) - ищет записи, в которых есть любые из тегов.</li>
<li>Приоритет операций стандартный: NOT > AND > OR. Скобки '()' позволяют объединять выражения.</li>
+ <li>Поиск игнорирует регистр: теги Linux и linux эквивалентны.</li>
</ul>
<p class="small">
Примеры выражений: linux - произойдёт перенаправление
-на страницу linux.html; linux&!audio - искать записи в которых есть тег
-linux и нет тега audio; linux and not audio - то же самое.
+на страницу Linux.html; linux&!debian - искать записи в которых есть тег
+Linux и нет тега Debian; Linux and not Debian - то же самое. Если в теге есть
+пробел ("Мёртвое море", "Чёрное море") - его надо заменить на подчёркивание;
+например: "Израиль И НЕ мёртвое_море", "Кавказ и не чёрное_море".
</p>
<center>
-<form method=GET action="../../../cgi-bin/blog-ru/search-tags/search-tags.py">
+<form method=GET action="../../../cgi-bin/blog-ru/search-tags.cgi">
<input type=text name=q>
<input type=submit name=submit value="Искать">
</form>
def start_a(self, attrs):
self.accumulator += '<a'
for attrname, value in attrs:
- value = cgi.escape(value, True)
+ value = escape(value, True)
if attrname == 'href':
self.accumulator += ' href="%s"' % urljoin(self.base, value)
else:
def start_img(self, attrs):
self.accumulator += '<img'
for attrname, value in attrs:
- value = cgi.escape(value, True)
+ value = escape(value, True)
if attrname == 'src':
self.accumulator += ' src="%s"' % urljoin(self.base, value)
else: