From 08b193b3ddbec4282f9f6aa2d1448eebae9f6e6e Mon Sep 17 00:00:00 2001 From: James Graham <J.A.Graham@soton.ac.uk> Date: Wed, 3 May 2017 12:34:35 +0100 Subject: [PATCH] Add better error messages in two cases Using Python2 Terminal is too small for gui --- pycgtool.py | 9 ++++++--- pycgtool/interface.py | 5 ++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pycgtool.py b/pycgtool.py index 6082e27..3a95b86 100755 --- a/pycgtool.py +++ b/pycgtool.py @@ -3,9 +3,12 @@ import argparse import sys -from pycgtool.pycgtool import main, map_only -from pycgtool.interface import Options -from pycgtool.functionalforms import FunctionalForms +try: + from pycgtool.pycgtool import main, map_only + from pycgtool.interface import Options + from pycgtool.functionalforms import FunctionalForms +except SyntaxError: + raise RuntimeError("PyCGTOOL requires Python 3.2 or greater") if __name__ == "__main__": parser = argparse.ArgumentParser(description="Perform coarse-grain mapping of atomistic trajectory") diff --git a/pycgtool/interface.py b/pycgtool/interface.py index 7ab9ae3..8ca93b8 100644 --- a/pycgtool/interface.py +++ b/pycgtool/interface.py @@ -146,7 +146,10 @@ class Options: for i, (key, value) in enumerate(self): window_keys.addstr(i, 0, key) - text_edit_wins.append(window_vals.derwin(1, 30, i, 0)) + try: + text_edit_wins.append(window_vals.derwin(1, 30, i, 0)) + except curses.error as e: + raise RuntimeError("Your terminal is too small to fit the interface, please expand it") from e text_edit_wins[-1].addstr(0, 0, str(value)) text_inputs.append(curses.textpad.Textbox(text_edit_wins[-1])) -- GitLab