Author: bugman Date: Wed May 28 15:48:29 2014 New Revision: 23519 URL: http://svn.gna.org/viewcvs/relax?rev=23519&view=rev Log: Fixes for the Sequence and Sequence_2D GUI elements for handling invalid input data. These elements used by the user function windows previously raised all sorts of errors if the data was not what they expected (lists or lists of lists respectively). These situations are now caught and the input data is ignored, so blank Sequence and Sequence_2D elements are presented to the user. Modified: trunk/gui/input_elements/sequence.py trunk/gui/input_elements/sequence_2D.py Modified: trunk/gui/input_elements/sequence.py URL: http://svn.gna.org/viewcvs/relax/trunk/gui/input_elements/sequence.py?rev=23519&r1=23518&r2=23519&view=diff ============================================================================== --- trunk/gui/input_elements/sequence.py (original) +++ trunk/gui/input_elements/sequence.py Wed May 28 15:48:29 2014 @@ -282,6 +282,14 @@ else: value = () + # Handle all other errors. + except: + value = None + + # Nothing to do. + if value == None: + return None + # Convert sequences to single values as needed. if self.single_value: if (isinstance(value, list) or isinstance(value, tuple)) and len(value) == 1: Modified: trunk/gui/input_elements/sequence_2D.py URL: http://svn.gna.org/viewcvs/relax/trunk/gui/input_elements/sequence_2D.py?rev=23519&r1=23518&r2=23519&view=diff ============================================================================== --- trunk/gui/input_elements/sequence_2D.py (original) +++ trunk/gui/input_elements/sequence_2D.py Wed May 28 15:48:29 2014 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2012-2013 Edward d'Auvergne # +# Copyright (C) 2012-2014 Edward d'Auvergne # # # # This file is part of the program relax (http://www.nmr-relax.com). # # # @@ -29,6 +29,7 @@ # relax module imports. from gui.input_elements.sequence import Sequence, Sequence_list_ctrl, Sequence_window +from lib.check_types import is_list_of_lists from status import Status; status = Status() @@ -227,6 +228,10 @@ if values == None: return + # Not a list of lists. + if not is_list_of_lists(values): + return + # Loop over the entries. for i in range(len(values)): # Fixed dimension sequences - set the first value of the pre-created list.