Wenn es beim Lesen zu einem `IOError` kommt, so ging dieser in der weiteren Verarbeitung unter. Der Rest des Programmes arbeitete weiter, obwohl es sinnlos war.
Nun werden diese Verbesserungen vorgenommen:
1. Zusammen mit der Exception werden Hinweise ausgegeben, wie es zu dem Lesefehler gekommen sein könnte
2. Das eigentliche Handling der Exception wandert in die aufrufende Methode
Dies löst aber noch nicht den Hardware-Zugriff unter normalen Benutzerrechten. Dies wird anderweitig adressiert.
Mit diesen Änderungen ist das Projekt wieder auf einem neuen Stand. Insbesondere wurden hier die IDE- und Build-Konfigurationen aktualisiert.
Dies sind reine Wartungsänderungen und haben keinen Einfluss auf Funktionalität.
Ein allererstes Release als Ausgangspunkt
Ab sofort wird ordentlich versioniert und `git flow` verwendet. Dies ist
die Basis für weitere Releases.
Einziges "nennenswertes" Feature: Eine minimale Testbarkeit wurde
hergestellt.
Ab sofort können sinnvoll Tests geschrieben werden. Da das Projekt
weiter wächst, ist das auch notwendig. Hiermit wird die notwendige
Basiskonfiguration bereitgestellt, sowie ein erster Satz an Tests.
Nun wird eine Konfigurationsdatei an verschiedenen Stellen gesucht.
Zuerst im angegebenen Verzeichnis (hier nun meist `dirname(__file__)`),
dann in einem Verzeichnis, welches durch eine Umgebungsvariable
(Standard: `RS500_CONFIG_PATH`) gesetzt wird, dann im Home-Verzeichnis
des ausführenden Users im Unterverzeichnis `.rs500` und zuletzt im
Verzeichnis `/etc`.
Der erste Treffer gewinnt. Wenn an keiner Stelle die erforderliche Datei
gefunden wird, fliegt ein `FileNotFoundError`.
Dies soll die Ausführung der Skripte mit Konfiguration vereinfachen und
löst das in Issue #3 beschriebene Problem.