Skip to content

Crash when saving settings without a config dir #82

@amanusk

Description

@amanusk

Step 1: Describe your environment

  • System (Intel/AMD/Raspberry Pi etc): Raspberry Pi
  • OS version: Raspbian-stresh
  • s-tui version: 0.8.2
  • Installation method(pip/PPA/source code): source code

Step 2: Describe the problem:

Observed Results:

Crash when trying to save settings and no .config dir exists

  • What happened? (Traceback of a crash/Image/description):
WARNING:root:Failed to find or create scripts directory,                             proceeding without scripting support
Traceback (most recent call last):
  File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/pi/s-tui/s_tui/s_tui.py", line 1001, in <module>
    main()
  File "/home/pi/s-tui/s_tui/s_tui.py", line 928, in main
    graph_controller.main()
  File "/home/pi/s-tui/s_tui/s_tui.py", line 760, in main
    self.loop.run()
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/usr/local/lib/python3.5/dist-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/usr/local/lib/python3.5/dist-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/usr/local/lib/python3.5/dist-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/local/lib/python3.5/dist-packages/urwid/container.py", line 1590, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/local/lib/python3.5/dist-packages/urwid/container.py", line 2271, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/usr/local/lib/python3.5/dist-packages/urwid/decoration.py", line 622, in keypress
    return self._original_widget.keypress(maxvals, key)
  File "/usr/local/lib/python3.5/dist-packages/urwid/container.py", line 2271, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/pi/s-tui/s_tui/UiElements.py", line 37, in keypress
    return super(ViListBox, self).keypress(size, key)
  File "/usr/local/lib/python3.5/dist-packages/urwid/listbox.py", line 999, in keypress
    key = focus_widget.keypress((maxcol,),key)
  File "/usr/local/lib/python3.5/dist-packages/urwid/wimp.py", line 540, in keypress
    self._emit('click')
  File "/usr/local/lib/python3.5/dist-packages/urwid/widget.py", line 460, in _emit
    signals.emit_signal(self, name, self, *args)
  File "/usr/local/lib/python3.5/dist-packages/urwid/signals.py", line 265, in emit
    result |= self._call_callback(callback, user_arg, user_args, args)
  File "/usr/local/lib/python3.5/dist-packages/urwid/signals.py", line 295, in _call_callback
    return bool(callback(*args_to_pass))
  File "/home/pi/s-tui/s_tui/s_tui.py", line 378, in save_settings
    with open(config_file, 'w') as cfgfile:
FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/.config/s-tui/s-tui.conf'

Debug Results, output of s-tui -d created in a file _s-tui.log:

* Replace this with debug output *

Step 3: Reproduce the problem:

Steps to reproduce:

  1. Install Raspbian
  2. Install s-tui
  3. Try to use save settings

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions