and3rson / clay

Awesome standalone command line player for Google Play Music.
GNU General Public License v3.0
157 stars 11 forks source link

List index error #56

Closed JeffLabonte closed 4 years ago

JeffLabonte commented 4 years ago

I am getting an index error when I am saving my settings.

Traceback (most recent call last):
  File "./clay/app.py", line 411, in <module>
    main()
  File "./clay/app.py", line 407, in main
    loop.run()
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "./clay/app.py", line 233, in keypress
    hotkey_manager.keypress("global", self, super(AppWidget, self), size, key)
  File "./clay/hotkeys.py", line 140, in keypress
    ret = super_.keypress(size, key)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/container.py", line 1131, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/container.py", line 2271, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/listbox.py", line 999, in keypress
    key = focus_widget.keypress((maxcol,),key)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/wimp.py", line 540, in keypress
    self._emit('click')
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/widget.py", line 460, in _emit
    signals.emit_signal(self, name, self, *args)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/signals.py", line 265, in emit
    result |= self._call_callback(callback, user_arg, user_args, args)
  File "/home/jflabonte/Development/Open_Source/clay/.env/lib/python3.7/site-packages/urwid/signals.py", line 295, in _call_callback
    return bool(callback(*args_to_pass))
  File "./clay/pages/settings.py", line 193, in on_save
    self.app.set_page('MyLibraryPage')
  File "./clay/app.py", line 188, in set_page
    page = [page for page in self.pages if page.slug == slug][0]
IndexError: list index out of range
ValentijnvdBeek commented 4 years ago

Hi Jeff,

Changing MyLibraryPage to library on line 193 in the pages/settings.py file will fix this issue. That being said, this is kind of weird behaviour.

Cheers,

Valentijn

JeffLabonte commented 4 years ago

Thank you for your quick answer!

JeffLabonte commented 4 years ago

I fixed it and I made the build pass again! The PR is opened for you to have a look!