|
@@ -112,18 +112,19 @@ def highlight_content(content, query):
|
112
|
112
|
if content.find('<') != -1:
|
113
|
113
|
return content
|
114
|
114
|
|
|
115
|
+ query = query.decode('utf-8')
|
115
|
116
|
if content.lower().find(query.lower()) > -1:
|
116
|
|
- query_regex = '({0})'.format(re.escape(query))
|
117
|
|
- content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
|
|
117
|
+ query_regex = u'({0})'.format(re.escape(query))
|
|
118
|
+ content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
|
118
|
119
|
else:
|
119
|
120
|
regex_parts = []
|
120
|
121
|
for chunk in query.split():
|
121
|
122
|
if len(chunk) == 1:
|
122
|
|
- regex_parts.append('\W+{0}\W+'.format(re.escape(chunk)))
|
|
123
|
+ regex_parts.append(u'\W+{0}\W+'.format(re.escape(chunk)))
|
123
|
124
|
else:
|
124
|
|
- regex_parts.append('{0}'.format(re.escape(chunk)))
|
125
|
|
- query_regex = '({0})'.format('|'.join(regex_parts))
|
126
|
|
- content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
|
|
125
|
+ regex_parts.append(u'{0}'.format(re.escape(chunk)))
|
|
126
|
+ query_regex = u'({0})'.format('|'.join(regex_parts))
|
|
127
|
+ content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
|
127
|
128
|
|
128
|
129
|
return content
|
129
|
130
|
|