1
0
Fork 0
forked from github/pelican

Merge pull request #1828 from andreacorbellini/chr-to-unichr

Use unichr() instead of chr() with Python 2.
This commit is contained in:
Justin Mayer 2015-09-23 09:00:09 -07:00
commit 72ee73f886
2 changed files with 14 additions and 2 deletions

View file

@ -190,6 +190,18 @@ class TestUtils(LoggedTestCase):
self.assertEqual(
utils.truncate_html_words("cafetiére " * 100, 20),
"cafetiére " * 20 + '...')
self.assertEqual(
utils.truncate_html_words("∫dx " * 100, 20),
"∫dx " * 20 + '...')
# Words with HTML character references inside and outside
# the ASCII range.
self.assertEqual(
utils.truncate_html_words("é " * 100, 20),
"é " * 20 + '...')
self.assertEqual(
utils.truncate_html_words("∫dx " * 100, 20),
"∫dx " * 20 + '...')
def test_process_translations(self):
# create a bunch of articles

View file

@ -512,14 +512,14 @@ class _HTMLWordTruncator(HTMLParser):
except KeyError:
self.handle_ref('')
else:
self.handle_ref(chr(codepoint))
self.handle_ref(six.unichr(codepoint))
def handle_charref(self, name):
if name.startswith('x'):
codepoint = int(name[1:], 16)
else:
codepoint = int(name)
self.handle_ref(chr(codepoint))
self.handle_ref(six.unichr(codepoint))
def truncate_html_words(s, num, end_text='...'):