percol
percol copied to clipboard
Unicode parsing crashes percol
While trying to use percol with a logfile containing utf characters I'm getting the following error:
jsegura@air:~/tmp % percol i.log [ 7:45AM]
Traceback (most recent call last):
File "/usr/local/bin/percol", line 31, in <module>
main()
File "/Library/Python/2.7/site-packages/percol/cli.py", line 238, in main
exit_code = percol.loop()
File "/Library/Python/2.7/site-packages/percol/__init__.py", line 180, in loop
self.view.refresh_display()
File "/Library/Python/2.7/site-packages/percol/view.py", line 67, in refresh_display
self.display_results()
File "/Library/Python/2.7/site-packages/percol/view.py", line 113, in display_results
is_marked = self.model.get_is_marked(cand_nth))
File "/Library/Python/2.7/site-packages/percol/view.py", line 88, in display_result
self.display_line(y, 0, line, style = line_style)
File "/Library/Python/2.7/site-packages/percol/view.py", line 74, in display_line
self.display.add_aligned_string(s, y_offset = y, x_offset = x, style = style, fill = True)
File "/Library/Python/2.7/site-packages/percol/display.py", line 256, in add_aligned_string
self.add_string(s, pos_y, pos_x, style)
File "/Library/Python/2.7/site-packages/percol/display.py", line 282, in add_string
self.addnstr(pos_y, pos_x, s, n if n >= 0 else self.WIDTH - pos_x, style)
File "/Library/Python/2.7/site-packages/percol/display.py", line 305, in addnstr
bytes_count_to_display = screen_length_to_bytes_count(s, n, self.encoding)
File "/Library/Python/2.7/site-packages/percol/display.py", line 104, in screen_length_to_bytes_count
char_bytes_count = len(unicode_char.encode(encoding))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb7' in position 0: ordinal not in range(128)
File (character ·):
jsegura@air:~/tmp % cat i.log [ 8:30AM]
[2014/06/10 13:40:17 CEST] [INFO] (cluster.func·004:1028) Recovering local server
[2014/06/10 13:40:17 CEST] [INFO] (cluster.(*ClusterConfiguration).recover:1054) No shards to recover for 1