PaperPi
PaperPi copied to clipboard
improve exit on bad config file
12:38:13 paperpi :get_config_files:251 :INFO - using configuration files to configure PaperPi: [PosixPath('/home/pi/src/PaperPi/paperpi/config/paperpi.ini'), PosixPath('/home/pi/.config/com.txoof.paperpi/paperpi.ini')]
Traceback (most recent call last):
File "/home/pi/src/PaperPi/paperpi/./paperpi.py", line 758, in <module>
exit_code = main()
File "/home/pi/src/PaperPi/paperpi/./paperpi.py", line 644, in main
config_files = get_config_files(cmd_args)
File "/home/pi/src/PaperPi/paperpi/./paperpi.py", line 254, in get_config_files
config_files.parse_config()
File "/home/pi/.local/share/virtualenvs/PaperPi-VBShxqF-/lib/python3.9/site-packages/ArgConfigParse/ArgConfigParse.py", line 227, in parse_config
self.parser.read(file)
File "/usr/lib/python3.9/configparser.py", line 697, in read
self._read(fp, filename)
File "/usr/lib/python3.9/configparser.py", line 1113, in _read
raise e
configparser.ParsingError: Source contains parsing errors: PosixPath('/home/pi/.config/com.txoof.paperpi/paperpi.ini')
[line 195]: "'''\n"
It would be good to exit with a better error message and try to identify the problem in the config file rather than just crashing out.
additional example:
$ sudo /usr/local/bin/paperpi -d
12:50:24 paperpi :get_config_files:251 :INFO - using configuration files to configure PaperPi: [PosixPath('/usr/local/paperpi/config/paperpi.ini'), PosixPath('/etc/default/paperpi.ini')]
Traceback (most recent call last):
File "/usr/local/paperpi/paperpi.py", line 759, in <module>
exit_code = main()
File "/usr/local/paperpi/paperpi.py", line 699, in main
screen_return = setup_display(config)
File "/usr/local/paperpi/paperpi.py", line 485, in setup_display
screen.clearEPD()
File "/usr/local/paperpi/.venv/lib/python3.9/site-packages/epdlib/Screen.py", line 244, in wrapper
raise UnboundLocalError('no epd is configured')
UnboundLocalError: no epd is configured