diff options
-rw-r--r-- | poezio/__main__.py | 8 | ||||
-rw-r--r-- | poezio/poezio.py | 14 |
2 files changed, 18 insertions, 4 deletions
diff --git a/poezio/__main__.py b/poezio/__main__.py index b0ba98e4..1f46f051 100644 --- a/poezio/__main__.py +++ b/poezio/__main__.py @@ -1,11 +1,11 @@ def run(): - from poezio.poezio import test_curses, main + from poezio.poezio import main, test_curses, test_env - if test_curses(): - main() - else: + if not test_curses() or not test_env(): import sys sys.exit(1) + else: + main() return 0 diff --git a/poezio/poezio.py b/poezio/poezio.py index 51e10d1b..586130c8 100644 --- a/poezio/poezio.py +++ b/poezio/poezio.py @@ -37,6 +37,20 @@ Poezio is currently unable to read your input or draw its interface properly,\ so it will now exit.""") return False +def test_env(): + """ + Check if the environment has the right variables set + """ + unset = set() + for i in ('HOME', 'PATH', 'TERM'): + if not os.environ.get(i): + unset.add(i) + if unset: + variables = ', '.join('$%s' % i for i in unset) + print('ERROR: %s not set' % variables) + return False + return True + def main(): """ |