You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think the function remove_cte in db/utils.py should catch this exception instead of killing alot as a result of it:
Traceback (most recent call last):
File "/usr/bin/alot", line 11, in <module>
load_entry_point('alot==0.9.1', 'console_scripts', 'alot')()
File "/usr/share/alot/alot/__main__.py", line 137, in main
UI(dbman, cmdstring)
File "/usr/share/alot/alot/ui.py", line 146, in __init__
self.mainloop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 287, in run
self._run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 385, in _run
self.event_loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1346, in run
reraise(*exc_info)
File "/usr/lib/python3/dist-packages/urwid/compat.py", line 58, in reraise
raise value
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1360, in wrapper
rval = f(*args,**kargs)
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1319, in _twisted_idle_callback
callback()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 574, in entering_idle
self.draw_screen()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 588, in draw_screen
canvas = self._topmost_widget.render(self.screen_size, focus=True)
File "/usr/lib/python3/dist-packages/urwid/widget.py", line 145, in cached_render
canv = fn(self, size, focus=focus)
File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 226, in render
canv = self._original_widget.render(size, focus=focus)
File "/usr/lib/python3/dist-packages/urwid/widget.py", line 145, in cached_render
canv = fn(self, size, focus=focus)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1089, in render
body = self.body.render((maxcol, maxrow-ftrim-htrim),
File "/usr/share/alot/alot/buffers/buffer.py", line 19, in render
return self.body.render(size, focus)
File "/usr/lib/python3/dist-packages/urwid/widget.py", line 145, in cached_render
canv = fn(self, size, focus=focus)
File "/usr/lib/python3/dist-packages/urwid/listbox.py", line 439, in render
middle, top, bottom = self.calculate_visible(
File "/usr/lib/python3/dist-packages/urwid/listbox.py", line 385, in calculate_visible
next, pos = self._body.get_next( pos )
File "/usr/share/alot/alot/walker.py", line 46, in get_next
return self._get_at_pos(start_from + self.direction)
File "/usr/share/alot/alot/walker.py", line 72, in _get_at_pos
widget = self._get_next_item()
File "/usr/share/alot/alot/walker.py", line 85, in _get_next_item
next_widget = self.containerclass(next_obj, **self.kwargs)
File "/usr/share/alot/alot/widgets/search.py", line 26, in __init__
self.rebuild()
File "/usr/share/alot/alot/widgets/search.py", line 60, in rebuild
width, part = build_text_part(partname, self.thread,
File "/usr/share/alot/alot/widgets/search.py", line 145, in build_text_part
content = prepare_string(name, thread, maxw)
File "/usr/share/alot/alot/widgets/search.py", line 213, in prepare_string
s = content(thread)
File "/usr/share/alot/alot/widgets/search.py", line 188, in prepare_content_string
lastcontent = ' '.join(m.get_body_text() for m in msgs)
File "/usr/share/alot/alot/widgets/search.py", line 188, in <genexpr>
lastcontent = ' '.join(m.get_body_text() for m in msgs)
File "/usr/share/alot/alot/db/message.py", line 280, in get_body_text
return extract_body_part(self.mime_part)
File "/usr/share/alot/alot/db/utils.py", line 497, in extract_body_part
rendered_payload = render_part(
File "/usr/share/alot/alot/db/utils.py", line 345, in render_part
raw_payload = remove_cte(part)
File "/usr/share/alot/alot/db/utils.py", line 440, in remove_cte
bp = base64.b64decode(payload)
File "/usr/lib/python3.9/base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Invalid base64-encoded string: number of data characters (939501) cannot be 1 more than a multiple of 4
The text was updated successfully, but these errors were encountered:
I think the function
remove_cte
indb/utils.py
should catch this exception instead of killing alot as a result of it:The text was updated successfully, but these errors were encountered: