Nyx configurashion editor reproducibly crashes if custom ordering is set
Nyx 2.0.4 at Linux. How to reproduce:
- Go to configuration editor.
- Press
s
and select the following order:Is Set
,Name
,Description
. - "Toggle filtering" by pressing
a
. - Nyx immediately crashes with the following log:
Traceback (most recent call last):
File "/usr/local/bin/nyx", line 9, in <module>
load_entry_point('nyx==2.0.4', 'console_scripts', 'nyx')()
File "/usr/local/lib/python3.4/dist-packages/nyx/__init__.py", line 176, in main
nyx.starter.main()
File "/usr/local/lib/python3.4/dist-packages/stem/util/conf.py", line 289, in wrapped
return func(*args, config = config, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/nyx/starter.py", line 118, in main
nyx.curses.start(nyx.draw_loop, acs_support = config.get('acs_support', True), transparent_background = True, cursor = False)
File "/usr/local/lib/python3.4/dist-packages/nyx/curses.py", line 217, in start
curses.wrapper(_wrapper)
File "/usr/lib/python3.4/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/local/lib/python3.4/dist-packages/nyx/curses.py", line 215, in _wrapper
function()
File "/usr/local/lib/python3.4/dist-packages/nyx/__init__.py", line 243, in draw_loop
keybinding.handle(key)
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/__init__.py", line 84, in handle
self._action()
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 258, in _toggle_show_all
self._sort_content()
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 325, in _sort_content
self._all_content = sorted(self._all_content, key = lambda entry: [entry.sort_value(field) for field in self._sort_order])
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 325, in <lambda>
self._all_content = sorted(self._all_content, key = lambda entry: [entry.sort_value(field) for field in self._sort_order])
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 325, in <listcomp>
self._all_content = sorted(self._all_content, key = lambda entry: [entry.sort_value(field) for field in self._sort_order])
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 128, in sort_value
return self.description
File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line 148, in description
return getattr(manual(self.name), 'description')
AttributeError: 'NoneType' object has no attribute 'description'
I guess it would also crash with many other types of ordering.
Trac:
Username: wagon