Author: bugman Date: Tue May 22 18:50:48 2012 New Revision: 16404 URL: http://svn.gna.org/viewcvs/relax?rev=16404&view=rev Log: Better handling of empty data in the Sequence.GetValue() method. Modified: branches/uf_redesign/gui/input_elements/sequence.py Modified: branches/uf_redesign/gui/input_elements/sequence.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/input_elements/sequence.py?rev=16404&r1=16403&r2=16404&view=diff ============================================================================== --- branches/uf_redesign/gui/input_elements/sequence.py (original) +++ branches/uf_redesign/gui/input_elements/sequence.py Tue May 22 18:50:48 2012 @@ -236,8 +236,14 @@ # The value. value = self._field.GetValue() + # Handle Combo_list elements. + if self.element_type == 'combo_list': + # Empty lists. + if value == []: + return None + # Non Combo_list elements. - if self.element_type != 'combo_list': + else: # Handle single values. value_set = False if self.single_value: @@ -251,8 +257,12 @@ if not value_set: try: value = self.convert_from_gui_seq(value) + + # Set the value to None or an empty sequence. except RelaxError: - if self.seq_type == 'list': + if self.can_be_none: + value = None + elif self.seq_type == 'list': value = [] else: value = () @@ -263,7 +273,7 @@ value = value[0] # Convert single values to sequences as needed. - else: + elif value != None: if self.seq_type == 'list' and not isinstance(value, list): value = [value] elif self.seq_type == 'tuple' and not isinstance(value, tuple):